PHP文件缓存类示例分享
发布时间:2020-12-13 02:23:09 所属栏目:PHP教程 来源:网络整理
导读:《:PHP文件缓存类示例分享》要点: 本文介绍了:PHP文件缓存类示例分享,希望对您有用。如果有疑问,可以联系我们。 代码如下: ?php ??? /** ???? * @desc 文件缓存 ???? */ ??? class Cache{ ??????? const C_FILE = '/Runtime/'; ??????? private $dir =
《:PHP文件缓存类示例分享》要点:
代码如下:
<?php ??? /** ???? * @desc 文件缓存 ???? */ ??? class Cache{ ??????? const C_FILE = '/Runtime/'; ??????? private $dir = ''; ??????? const EXT = '.tpl'; ??????? private $filename = ''; ??????? public function __construct($dir = ''){ ??????????? $this->dir = $dir; ??????? } ??????? /** ???????? *??? @desc 设置文件缓存 ???????? *??? @param string $key 文件名 ???????? *??? @param unkonw $data 缓存数据 ???????? *??? @param int??? $expire 过期光阴 ???????? */ ??????? public function set($key,$data,$expire = 0){ ??????????? $this->filename =???? dirname(__FILE__).self::C_FILE.$this->dir.$key.self::EXT; ??????????? if(file_exists($this->filename)){ ??????????????? $res = $this->get($key); ??????????????? if(md5($res) == md5(json_encode($data) ) ){ ??????????????????? return true; ??????????????? } ??????????? } ??????????? if(!is_dir(dirname($this->filename))){ ??????????????? mkdir(dirname($this->filename),0777); ??????????? } ??????????? $source = fopen($this->filename,'w+'); ??????????? fwrite($source,json_encode($data)); ??????????? fclose($source); ??????? } ??????? /** ???????? *??? @desc 获取文件 ???????? *? @param string $key 文件名 ???????? */ ??????? public function get($key){ ??????????? //$filename = dirname(__FILE__).self::C_FILE.$this->dir.$key.self::EXT; ??????????? if(!file_exists($this->filename)){ ??????????????? return '缓存文件已经不存在'; ??????????? }else{ ??????????????? $res = file_get_contents($this->filename); ??????????? } ??????????? return $res; ??????? } ??????? /** ???????? *??? @desc 删除文件 ???????? *? @param string $key 文件名 ???????? */ ??????? public function del($key){ ??????????? unlink($this->filename); ??????? } ??? } ??? $data = array('name'=>'song','age'=>20,'sex'=>'man','favority'=>array('apple','banana')); ??? $cache = new Cache(); ??? $cache->set('cache',$data); ??? //$cache->get('cache'); ??? //$cache->del('cache'); 欢迎参与《PHP学习:PHP文件缓存类示例分享》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |