<?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');