取自ThinkPHP的文件缓存类代码,这里就不多废话了,小伙伴们自己看注释吧。
<?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\');
本文地址:https://www.stayed.cn/item/9306
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我