本文實例講述了php文件緩存類用法。分享給大家供大家參考。具體如下:
?php * 簡單的文件緩存類html' target='_blank'>class XZCache{ // default cache time one hour var $cache_time = 3600; // default cache dir var $cache_dir = ./cache public function __construct($cache_dir=null, $cache_time=null){ $this- cache_dir = isset($cache_dir) ? $cache_dir : $this- cache_dir; $this- cache_time = isset($cache_time) ? $cache_time : $this- cache_time; public function saveCache ($key, $value){ if (is_dir($this- cache_dir)){ $cache_file = $this- cache_dir . /xzcache_ . md5($key); $timedif = @(time() - filemtime($cache_file)); if ($timedif = $this- cache_time) { // cached file is too old, create new $serialized = serialize($value); if ($f = @fopen($cache_file, w )) { fwrite ($f, $serialized, strlen($serialized)); fclose($f); $result = 1; }else{ echo Error:dir is not exist. $result = 0; return $result; * @return array * 0 no cache * 1 cached * 2 overdue public function getCache ($key) { $cache_file = $this- cache_dir . /xzcache_ . md5($key); if (is_dir($this- cache_dir) is_file($cache_file)) { $timedif = @(time() - filemtime($cache_file)); if ($timedif = $this- cache_time) { $result[ cached ] = 2; }else{ // cached file is fresh enough, return cached array $result[ value ] = unserialize(file_get_contents($cache_file)); $result[ cached ] = 1; }else { echo Error:no cache $result[ cached ] = 0; return $result;} //end of class
用法示例如下:
$cache = new XZCache();$key = global $value = $GLOBALS;$cache- saveCache($key, $value);$result = $cache- getCache($key);var_dump($result);
以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP !
相關推薦:
關于php向訪客和爬蟲顯示不同的內容代碼
關于php多功能圖片處理類的代碼
以上就是關于php文件緩存類的用法分析的詳細內容,PHP教程
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答