-
- $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 = " "if(!defined('CHECK_CODE')) exit('Access Denied');rn".
- '$'.$var.'='.arrayeval($values).
- "rn?>";
- if(!swritefile($cachefile, $cachetext)) {
- exit("File: $cachefile write error.");
- }
- }
- //数组转换成字串
- function arrayeval($array, $level = 0) {
- $space = '';
- for($i = 0; $i <= $level; $i ) {
- $space .= "t";
- }
- $evaluate = "Arrayn$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;
- }
- }
复制代码
调用:
cache_write('file', 'arrayName', $array);
include格式:
@include ('./data/data_cache.php');
//数组重新排序
sort($arrayName); |