本文实例讲述了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教程
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答