php下把数组保存为文件格式的实例应用

 更新时间:2010年02月08日 08:43:59   作者:  
我们通常把一些常用的数据保存为数组格式方便调用,同时这也是缓存的重要方法。
我使用过两种办法:
第一种是数组序列化,简单,但是调用时比较麻烦一些;第二种是保存为标准的数组格式,保存时麻烦但是调用时简单。
第一种方法:
PHP代码
复制代码 代码如下:

$file="./cache/file.cache";
$array = array("color" => array("blue", "red", "green"),
"size" => array("small", "medium", "large"));
//缓存
file_put_contents($file,serialize($array));//写入缓存
//读出缓存
$handle = fopen($file, "r");
$cacheArray = unserialize(fread($handle, filesize ($file)));

第二种方法:
比较复杂,先贴几个函数:
复制代码 代码如下:

//写入
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;
}
}

调用方法很简单:
PHP代码
复制代码 代码如下:

cache_write('file', 'arrayName', $array);

使用上形同标准的include格式:
PHP代码
复制代码 代码如下:

@include ('./data/data_cache.php');
//数组重新排序
sort($arrayName);

相关文章

  • PHP实现AES256加密算法实例

    PHP实现AES256加密算法实例

    这篇文章主要介绍了PHP实现AES256加密算法,包括了对应的类文件及演示demo实例,并附带另一个PHP mcrypt加密实例供大家参考借鉴,需要的朋友可以参考下
    2014-09-09
  • PHP设计模式之工厂模式与单例模式

    PHP设计模式之工厂模式与单例模式

    这篇文章主要介绍了PHP设计模式之工厂模式与单例模式,简单介绍的工厂模式与单例模式的功能,并结合实例形式分析了工厂模式及单例模式的实现与应用,需要的朋友可以参考下
    2016-09-09
  • PHP实现的策略模式简单示例

    PHP实现的策略模式简单示例

    这篇文章主要介绍了PHP实现的策略模式,结合简单实例形式分析了策略模式的原理与实现方法,需要的朋友可以参考下
    2017-08-08
  • 如何使用PHP实现javascript的escape和unescape函数

    如何使用PHP实现javascript的escape和unescape函数

    本篇文章是对使用PHP实现javascript的escape和unescape函数的方法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php中sort函数排序知识点总结

    php中sort函数排序知识点总结

    在本篇文章里小编给大家分享的是一篇关于php中sort函数排序知识点总结内容,有兴趣的朋友们可以参考下。
    2021-01-01
  • PHP获取文件名后缀的五种实现方法

    PHP获取文件名后缀的五种实现方法

    在PHP开发中,有时候我们需要从文件名中提取出后缀部分,对于文件系统而言,获取文件名后缀是一个常见的需求,可以用于判断文件的类型或者进行其他相关操作,本文将介绍5种在PHP中获取文件名后缀的方法,并给出相应的示例代码,需要的朋友可以参考下
    2023-10-10
  • 如何用php获取文件名后缀

    如何用php获取文件名后缀

    本篇文章是对用php获取文件后缀的方法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 利用PHPExcel实现Excel文件的写入和读取

    利用PHPExcel实现Excel文件的写入和读取

    本篇文章主要介绍了利用PHPExcel实现Excel文件的写入和读取的相关知识。具有很好的参考价值。下面跟着小编一起来看下吧
    2017-04-04
  • Android ProgressBar进度条和ProgressDialog进度框的展示DEMO

    Android ProgressBar进度条和ProgressDialog进度框的展示DEMO

    本篇文章是对Android中ProgressBar进度条和ProgressDialog进度框的展示DEMO进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • 详谈PHP中的密码安全性Password Hashing

    详谈PHP中的密码安全性Password Hashing

    下面小编就为大家带来一篇详谈PHP中的密码安全性Password Hashing。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-02-02

最新评论