php文件缓存类的定义及功能
程序员文章站
2022-03-08 08:56:03
...
这篇文章主要介绍了php文件缓存类用法,以实例形式较为详细的分析了php文件缓存类的定义、功能及具体使用技巧,非常具有实用价值,需要的朋友可以参考下
本文实例讲述了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中foreach()的使用方法
以上就是php文件缓存类的定义及功能的详细内容,更多请关注其它相关文章!
推荐阅读
-
php写的带缓存数据功能的mysqli类
-
C#_Excel数据读取与写入_自定义解析封装类_支持设置标题行位置&使用excel表达式收集数据&单元格映射&标题映射&模板文件的参数数据替换(第二版-增加深度读取和更新功能)
-
PHP实现生成vcf vcard文件功能类定义与使用方法详解【附demo源码下载】 原创
-
java代码自动生成数据库表中对应的类文件及操作数据库功能
-
PHP实现类似于C语言的文件读取及解析功能
-
PHP实现生成vcf vcard文件功能类定义与使用方法详解【附demo源码下载】 原创
-
PHP文件管理之实现网盘及压缩包的功能操作
-
php递归删除目录及文件的自定义函数rrmdir
-
php递归删除目录及文件的自定义函数rrmdir
-
php 如何找到对象调用的某个方法是定义在哪个类文件中?