本文实例讲述了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中foreach()的使用方法以上就是php文件缓存类的定义及功能的详细内容,PHP教程
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答