define('CACHE_ROOT','./'); include_once('./cache.func .php' ); $file = 'qzp'; $cacheFile = getCacheFileByID($file,'info/'); print_R(readCache($cacheFile)); $info = array( 'ユーザー名' => 'qzp', 'エリア名'=>'管理者', 'mp_name'=>'1234', 'gh_name'=>'5678'); writeCache($cacheFile,$info) ;
cache.func.phpファイル
関数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("/^-?[1-9 ]d* $/", $val) || strlen($val) > 12) ? ''.addcslashes($val, '').'' : $val; if(is_array($val) )) { $evaluate .= "$comma$key => ".arrayeval($val, $level + 1); $comma = ",n$space"; } $evaluate .= "n$space )"; return $evaluate; } function getCacheFileByID($id,$pre='info/',$md5= true){ if($md5){ $md5id = md5($id); return CACHE_ROOT.'/'.$pre.substr($md5id,0,2).'/'.substr($md5id, 2,2).'/'.$id; }else{ return CACHE_ROOT.' /'.$pre.$id; } } function readCache($filename,$time=0){ if ($datas = @file_get_contents($filename)){ $datas = unserialize($datas) ; if($time < 1 || (time() - $datas['time'] < $time)) { return $datas['data']; } } return false; } function writeCache($filename,$data){ makeDir(dirname($filename)); if($handle = fopen ($filename,'w+')){ $datas = array('data'=> ;$data,'time'=>time()); flock($handle,LOCK_EX); $rs = fputs ($handle,serialize($datas)); flock($handle,LOCK_UN); fclose($handle); if($rs!==false){ return true; } } return false; } function makeDir($path) { if (! file_exists ( $path ) ) { makeDir ( dirname ( $path ) ); if (! mkdir ( $path, 0777 )) die ( 'フォルダーを作成できません' . $path ); } }
キャッシュされるファイルをシリアル化して保存し、使用時に逆シリアル化して戻します。 PHP テンプレート データをキャッシュするためのツール、smarty を使用します。 Smarty は、HTML ファイルを静的 HTML ページにキャッシュします。キャッシュする必要があるテンプレート ファイルは、smarty を使用できます。 例: コードは次のとおりです | コードをコピーします | //Smartyクラスライブラリが含まれています require('libs/Smarty.class.php'); / /Smarty クラス オブジェクトを作成します $smarty = new Smarty; //キャッシュを有効にする $smarty->caching = true; //キャッシュ ファイルが保存されるディレクトリを指定します $smarty->cache_dir = "。 /cache/"; //出力も保存されます $smarty->display('index.tpl') ?>
|
http://www.bkjia.com/PHPjc/444641.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/444641.html技術記事ファイルキャッシュとは、phpやtxtなどのファイルをダウンロードしてアクセスした際に、指定した時間を超えた場合にファイルを生成することを指します。 ..
声明:この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。 |