-
- $file="./cache/file.cache";
- $array = array("color" => array("blue", "red", "green"),
- "size" = > array("small", "medium", "large"));
- //Cache
- file_put_contents($file,serialize($array));//Write cache
- //Read cache
- $handle = fopen($file, "r");
- $cacheArray = unserialize(fread($handle, filesize ($file)));
Copy code
Second method:
Post a few functions first:
-
- //Write
- 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.");
- }
- }
- //Convert array into string
- 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;
- }
- //Write file
- 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;
- }
- }
Copy code
Call:
cache_write('file', 'arrayName', $array);
include format:
@include ('./data/data_cache.php');
//Array reordering
sort($arrayName); |