时间:2021-05-26
我使用过两种办法:
第一种是数组序列化,简单,但是调用时比较麻烦一些;第二种是保存为标准的数组格式,保存时麻烦但是调用时简单。
第一种方法:
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);
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Delphi实现截屏存盘的方法。分享给大家供大家参考。具体分析如下:该实例可实现截取屏幕,并保存为JPEG文件格式的功能。procedureTFo
苹果Mac电脑自带了有截屏功能,但它默认保存的文件是PNG格式的,有的朋友希望能让截屏的图片保存为JPG格式。当然你可以把文件打开后,再另存为JPG格式,不过这
前台静态化:把动态页面解析后保存为静态页面文件缓存:把查询结果保存为文件,XML内存缓存:memcachephp缓存器:XCache、eaccelerator等
JavaScript中数组是无法直接保存为Cookie的(PHP可以),那要将数组转存为字符串,再保存在Cookie中,简单的一维数组我们直接用toString
php缓存数组形式的变量,实际上就是将php将数组写入到一个文本文件或者后缀名为.php存储起来,使用的时候直接调用这个文件。那么如何使用php将数组保存为文本