爱程序网

文件缓存

来源: 阅读:

不多说,看代码

Head.php

<?phpdefine('CACHE_EXPIRE',1800);  //设置过期时间define('CACHE_PATH',$_SERVER['DOCUMENT_ROOT'].'/cache/'); //设置缓存目录define('REFRESH_EXPIRE',10);  is_dir(CACHE_PATH) or mkdir(CACHE_PATH,0777);
//该方法是获得用户的刷新次数,如果用户连续两次刷新,那么就显示最新内容function refreshTimes(){ $currentUrl
='http://'.$_SERVER["HTTP_HOST"].$_SERVER['REQUEST_URI']; if(isset($_COOKIE['refreshTimes'])){ $cookArray=explode("t",$_COOKIE['refreshTimes']); if(isset($cookArray[1]) and $_SERVER['REQUEST_TIME'] - (int)$cookArray[1] < REFRESH_EXPIRE and isset($cookArray[0]) and $cookArray[0] == $currentUrl){ setcookie('refreshTimes',$currentUrl."t".$_SERVER['REQUEST_TIME']."t".(string)((int)$cookArray[2]+1),0,'/'); return (int)$cookArray[2]; }else{ setcookie('refreshTimes',$currentUrl."t".$_SERVER['REQUEST_TIME']."t1",0,'/'); return 0; } }else{ setcookie('refreshTimes',$currentUrl."t".$_SERVER['REQUEST_TIME']."t1",0,'/'); return 0; }} $key = md5($_SERVER['REQUEST_URI']);$path = CACHE_PATH.$key;if(is_file($path) and filemtime($path)+CACHE_EXPIRE > $_SERVER['REQUEST_TIME'] and refreshTimes() == 0 ){ readfile($path); exit();}ob_start();?>

foot.php

<?php$html = ob_get_contents();ob_clean();file_put_contents($path,$html);echo $html;?>

test.php

<?phpinclude 'head.php';$title = "Hello world~";?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title><?php echo $title?></title></head><body><?phpecho "是大方大方";?></body></html><?phpinclude 'foot.php';?>

 

//其他看到的很全的php文件缓存

看http://www.cnblogs.com/coolid/archive/2012/09/14/2684373.html 链接

Tags:文件缓存
相关文章列表:
关于爱程序网 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助