php如何将数组保存为文件的方法

转载 2013年12月03日 15:51:58
  1. 直接用var_export写成return array(...);的php代码,然后读取的时候用require解析即可。
  2. 使用serialize函数序列化一个数组,然后读取的时候用unserialize反序列化
  3. 使用json_encode序列化一个数组,然后读取的时候用json_decode反序列化
  4. 使用其它的文件格式,比如yaml或者ini

 

//写入
function cache_write($name, $var, $values) {
    $cachefile = S_ROOT.'./data/data_'.$name.'.php';
    $cachetext = "<?php\r\n".
    "if(!defined('CHECK_CODE')) exit('Access Denied');\r\n".
    '$'.$var.'='.arrayeval($values).
    "\r\n?>";
    if(!swritefile($cachefile, $cachetext)) {
        exit("File: $cachefile write error.");
    }
}
//数组转换成字串
function arrayeval($array, $level = 0) {
    $space = '';
    for($i = 0; $i <= $level; $i++) {
        $space .= "\t";
    }
    $evaluate = "Array\n$space(\n";
    $comma = $space;
    foreach($array as $key => $val) {
        $key = is_string($key) ? '\''.addcslashes($key, '\'\\').'\'' : $key;
        $val = !is_array($val) && (!preg_match("/^\-?\d+$/", $val) || strlen($val) > 12) ? '\''.addcslashes($val, '\'\\').'\'' : $val;
        if(is_array($val)) {
            $evaluate .= "$comma$key => ".arrayeval($val, $level + 1);
        } else {
            $evaluate .= "$comma$key => $val";
        }
        $comma = ",\n$space";
    }
    $evaluate .= "\n$space)";
    return $evaluate;
}
//写入文件
function swritefile($filename, $writetext, $openmod='w') {
    if(@$fp = fopen($filename, $openmod)) {
        flock($fp, 2);
        fwrite($fp, $writetext);
        fclose($fp);
        return true;
    } else {
        runlog('error', "File: $filename write error.");
        return false;
    }
}

相关文章推荐

如何将视差数据保存为 txt 数据文件以便在 Matlab 中读取分析?

由于OpenCV本身只支持 xml、yml 的数据文件读写功能,并且其xml文件与构建网页数据所用的xml文件格式不一致,在Matlab中无法读取。我们可以通过以下方式将视差数据保存为txt文件,再导...

已知HICON,如何将其保存为图标文件?以及ICO文件的格式

作者: masterz void CCsdn9Dlg::OnOK() { // TODO: Add extra validation here //CreateStreamOnHG...

QT和VS读取.txt文件中的数据并保存为数组

QT中读取.txt文件并保存为数组 QFile fpx("/work/qt_workspace/saly/pix_x.txt"); QFile fpy("/work/qt_works...

在Java中将数据库查询结果保存为List<Map>类型的JavaScript数组文件

将一些基本的、频繁使用的数据保存为js文件,不仅可以大大减少对服务器的访问,而且有效地改善用户的体验,浏览网页变得非常地流畅。这对提高整个web应用系统的质量非常有好处。以下方法用于将查询结果保存到j...
  • wj800
  • wj800
  • 2011年11月17日 08:51
  • 2251

将数据窗口保存为Excel文件的方法

方法一:简单实用 string docname, named integer value value = GetFileSaveName("选择文件", & docname, named, "...
  • tlammon
  • tlammon
  • 2014年12月31日 21:05
  • 311

如何将一张图片分割保存为HTML

  • 2014年06月28日 19:52
  • 92KB
  • 下载

[Latex] 如何将latex的伪代码algorithm保存为大小fit的pdf或者图像

\documentclass{article} \usepackage[margin=0in,paperheight=8in, paperwidth=4.3in]{geometry} \usepack...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:php如何将数组保存为文件的方法
举报原因:
原因补充:

(最多只允许输入30个字)