php 把数据写入文件中

**
 * 写结果缓存文件
 *
 * @params  string  $cache_name 文件名称
 * @params  string  $caches 缓存数据
 *
 * @return
 */
function write_static_cache($cache_name, $caches)
{
    
    $cache_file_path = ROOT_PATH . '/temp/static_caches/' . $cache_name . '.php';
    $content = "<?php\r\n";
    $content .= "\$data = " . var_export($caches, true) . ";\r\n";
    $content .= "?>";
    file_put_contents($cache_file_path, $content, LOCK_EX);
}


/**
 * 读结果缓存文件
 *
 * @params  string  $cache_name
 *
 * @return  array   $data
 */
function read_static_cache($cache_name)
{ 
    static $result = array();
    if (!empty($result[$cache_name]))
    {
        return $result[$cache_name];
    }
    $cache_file_path = ROOT_PATH . '/temp/static_caches/' . $cache_name . '.php';
    if (file_exists($cache_file_path))
    {
        include_once($cache_file_path);
        $result[$cache_name] = $data;
        return $result[$cache_name];
    }
    else
    {
        return false;
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将PHP数组写入二进制文件,您可以使用PHP函数`pack()`和`fwrite()`。 以下是一个示例代码,它将一个PHP数组写入二进制文件: ```php // PHP数组 $data = array('apple', 'banana', 'orange'); // 打开二进制文件 $file = fopen('data.bin', 'wb'); // 将数组打包为二进制字符串 $packedData = pack('a*a*a*', ...$data); // 将二进制字符串写入文件 fwrite($file, $packedData); // 关闭文件 fclose($file); ``` 在此示例,`pack()`函数将数组打包为一个二进制字符串。`'a*'`格式指定将每个字符串作为NULL结尾的字符数组打包,并将它们连接到一起。使用`...`操作符将数组传递给`pack()`函数。 接下来,使用`fwrite()`函数将打包的数据写入二进制文件。最后,使用`fclose()`函数关闭文件。 您可以使用以下代码读取该二进制文件并将其解包为原始数组: ```php // 打开二进制文件 $file = fopen('data.bin', 'rb'); // 读取文件内容 $packedData = fread($file, filesize('data.bin')); // 解包二进制数据为数组 $data = unpack('a*string1/a*string2/a*string3', $packedData); // 输出解包后的数组 print_r($data); // 关闭文件 fclose($file); ``` 在此示例,`fread()`函数读取整个二进制文件并将其存储在`$packedData`变量。 然后,使用`unpack()`函数将二进制数据解包为原始数组。`'a*'`格式指定将每个字符串作为NULL结尾的字符数组解包,并将它们存储在不同的数组键。 最后,使用`print_r()`函数输出解包后的数组。 希望这可以帮助您将PHP数组写入二进制文件并从读取数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值