分类分类
更新时间:2026-10-06 15:27:10作者:zhao
本文实例讲述了php文件缓存类用法。分享给大家供大家参考。具体如下:
<?php
/**
* 简单的文件缓存类
*
*/
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程序设计有所帮助。
相关
摄像头远程监控看家2026官方最新版本生活服务36.4 MBv1.0.02026-10-06
下载公务员省考最新手机版学习办公57.5 MBv6.09.112026-10-06
下载野性蜂巢(Wild Hive)经营养成267.49 Mv1.66.42026-10-04
下载趣好卖app网上购物74.76 Mv5.2.52026-10-04
下载兔叽月记app医疗健康55.33 Mv1.5.22026-10-04
下载魔力弹神策略游戏33.56 Mv1.0.02026-10-04
下载大破坏幸存者策略游戏62.28 Mv1.0.32026-10-04
下载啃豆小仓拼豆app实用工具41.74 Mv1.32026-10-04
下载方块公国安卓移植版策略游戏1.58Gv1.2.202026-10-04
下载快车顺风车出行2026官方最新版本生活服务82.0 MBv1.1.22026-10-04
下载网约上门按摩2026官方最新版本生活服务73.9 MBv2.0.22026-10-04
下载道运考试通(道路考练工具)学习办公32.8 MBv6.0.12026-10-04
下载










