-
- $file="./cache/file.cache";
- $array = array("color" => array("blue", "red", "green"),
- "size" = > array("small", "medium", "large"));
- //Cache
- file_put_contents($file,serialize($array));//書き込みキャッシュ
- //読み取りキャッシュ
- $handle( $file, "r");
- $cacheArray = unserialize(fread($handle, filesize ($file)));
コードをコピー
2 番目のメソッド:
最初にいくつかの関数を投稿します。
-
- //書き込み
- functioncache_write($name, $var, $values) {
- $cachefile = S_ROOT.'./data/data_'.$name.'.php';
- $cachetext = " "if(!define('CHECK_CODE')) exit('アクセスが拒否されました');rn".
- '$'.$var.'='.arrayeval($values).
- " rn ?>";
- if(!swritefile($cachefile, $cachetext)) {
- exit("ファイル: $cachefile 書き込みエラー。");
- }
- }
- //配列を文字列に変換
- function arrayeval( $array , $level = 0) {
- $space = '';
- for($i = 0; $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 => ". $val, $level + 1);
- $evaluate .= "$comma$key => $val";
- $comma = ",n$space" }
- $evaluate .= "n$space)";
- return $evaluate
- }
- //ファイルを書き込む
- function swritefile($filename, $writetext, $openmod='w') {
- if(@$fp = fopen($ filename, $) openmod)) {
- fwrite($fp, $writetext);
- return true; } else {
- runlog('error', "ファイル : $filename書き込みエラー。");
- return false;
- }
- }
-
-
- コードをコピー
-
-
- 呼び出し:
-
cache_write('ファイル', '配列名', $array);
インクルード形式:
@include ('./data/data_cache.php');
//配列の並べ替え
ソート($配列名);
|