class fileCache{
private $cachePath;
private $cacheFileName;
private $cacheFilePath;
private $expiresTime;
private $data="";
public function fileCache($cacheTime=10,$cachePath="cache/"){
$this->expiresTime=$cacheTime;
$this->cachePath=$cachePath;
$this->createCacheName();
}
public function setData($data){
$this->data=$data;
}
public function createCacheName(){
$url=$_SERVER['REQUEST_SCHEME']."://".$_SERVER['SERVER_NAME'].":".$_SERVER['SERVER_PORT'].$_SERVER['REQUEST_URI'];
$this->cacheFileName=md5($url);
$this->cacheFilePath=$this->cachePath.$this->cacheFileName.".php";
}
public function buildCache(){
ob_start();
echo $this->data;
$content=ob_get_contents();
ob_flush();
ob_clean();
file_put_contents($this->cacheFilePath, $content);
}
public function readCache(){
$cacheFile=$this->cacheFilePath;
if(file_exists($cacheFile)){
include $cacheFile;
}else{
return false;
}
return true;
}
public function cacheTime(){
$cacheFile=$this->cacheFilePath;
if(!file_exists($cacheFile)){
return true;
}elseif(fileatime($cacheFile)+$this->expiresTime<=time()){
return true;
}
return false;
}
}
/
$cache=new fileCache(2, "cache/");
if($cache->cacheTime()){
$cache->setData("hello world !");
$cache->buildCache();
}else{
$cache->readCache();
}
php 文件缓存
最新推荐文章于 2021-04-06 09:33:48 发布