本文实例讲述了PHP文件缓存类用法。分享给大家供大家参考。具体如下:
PHP;">
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
用法示例如下:
saveCache($key,$value);
$result = $cache->getCache($key);
var_dump($result);
希望本文所述对大家的PHP程序设计有所帮助。
原文链接:https://www.f2er.com/php/22053.html