手机
当前位置:查字典教程网 >编程开发 >php教程 >php文件缓存类用法实例分析
php文件缓存类用法实例分析
摘要:本文实例讲述了php文件缓存类用法。分享给大家供大家参考。具体如下:cache_dir=isset($cache_dir)?$cac...

本文实例讲述了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程序设计有所帮助。

【php文件缓存类用法实例分析】相关文章:

php备份数据库类分享

php实现简单的语法高亮函数实例分析

php解析xml方法实例详解

php微信公众平台开发类实例

php操作memcache缓存方法分享

php中smarty变量修饰用法实例分析

php计算给定时间之前的函数用法实例

php curl 上传文件代码实例

phplot生成图片类用法详解

php中静态类与静态变量用法区别解析

精品推荐
分类导航