ThinkPHP文件缓存类代码分享
取自ThinkPHP的文件缓存类代码,这里就不多废话了,小伙伴们自己看注释吧。
<?php /** *@desc文件缓存 */ classCache{ constC_FILE='/Runtime/'; private$dir=''; constEXT='.tpl'; private$filename=''; publicfunction__construct($dir=''){ $this->dir=$dir; } /** *@desc设置文件缓存 *@paramstring$key文件名 *@paramunkonw$data缓存数据 *@paramint$expire过期时间 */ publicfunctionset($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))){ returntrue; } } if(!is_dir(dirname($this->filename))){ mkdir(dirname($this->filename),0777); } $source=fopen($this->filename,'w+'); fwrite($source,json_encode($data)); fclose($source); } /** *@desc获取文件 *@paramstring$key文件名 */ publicfunctionget($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删除文件 *@paramstring$key文件名 */ publicfunctiondel($key){ unlink($this->filename); } } $data=array('name'=>'song','age'=>20,'sex'=>'man','favority'=>array('apple','banana')); $cache=newCache(); $cache->set('cache',$data); //$cache->get('cache'); //$cache->del('cache');