① 建立缓存文件默认的文件夹
//默认路径
private $_dir;
//默认后缀
const EXT = ".txt";
//创建缓存数据的文件夹
public function __construct(){
$this->_dir = dirname(__FILE__)."/files/";
}
② 建立生成缓存的方法
public function cacheData($key,$value="",$path=""){ //构造文件 $filename = $this->_dir.$path.$key.self::EXT; //将value值写入文件 if($value !== ""){ //获得文件所在目录 $dir = dirname($filename); //判断是否存在该目录,不存在则创建 if(!is_dir($dir)){ mkdir($dir,0777); } //该方法只能传递字符串,所以将value值进行json操作 return file_put_contents($filename, json_encode($value)); } }
进行方法调用时,如果value值为空,则为获取缓存.
//衔接上个if($value !== "")判断
//不存在该文件,则返回空 if(!is_file($filename)){ return false; }else{ return json_decode(file_get_contents($filename),true); }
使用unlink(‘文件名‘)方法,进行删除.
传入的value值如果为null,则进行删除缓存文件的操作.
class file{ //默认路径 private $_dir; //默认后缀 const EXT = ".txt"; //创建缓存数据的文件夹 public function __construct(){ $this->_dir = dirname(__FILE__)."/files/"; } /* 进行缓存操作 $key => 缓存文件的文件名 $value => 缓存数据 $path => 缓存路径 */ public function cacheData($key,$value="",$path=""){ //构造文件 $filename = $this->_dir.$path.$key.self::EXT; //将value值写入文件 if($value !== ""){ //如果传入的value值为null,则删除该缓存文件 if(is_null($value)){ return @unlink($filename); } //获得文件所在目录 $dir = dirname($filename); //判断是否存在该目录,不存在则创建 if(!is_dir($dir)){ mkdir($dir,0777); } //该方法只能传递字符串,所以将value值进行json操作 return file_put_contents($filename, json_encode($value)); } //如果value值为空 //不存在该文件,则返回空 if(!is_file($filename)){ return false; }else{ return json_decode(file_get_contents($filename),true); } } }
原文:http://www.cnblogs.com/3-tu/p/6347445.html