|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
在学习HTML中我想边学边做是最有效的方式,当然这一方式对于学习PHP同样是最有效的。 复制代码 代码以下:
<?php
define('CACHE_ROOT', dirname(__FILE__).'/cache'); //缓存寄存目次
define('CACHE_TIME', 1800);//缓存工夫 单元秒
define('CACHE_FIX','.html');
$CacheName=md5($_SERVER['REQUEST_URI']).CACHE_FIX; //缓存文件名
$CacheDir=CACHE_ROOT.'/'.substr($CacheName,0,1);//缓存文件寄存目次
$CacheUrl=$CacheDir.'/'.$CacheName;//缓存文件的完全途径
//GET体例恳求才缓存,POST以后普通都但愿看到最新的了局
if($_SERVER['REQUEST_METHOD']=='GET'){
//假如缓存文件存在,而且没有过时,就把它读出来。
if(file_exists($CacheName) && time()-filemtime($CacheName)<CACHE_TIME){
$fp=fopen($CacheName,'rb');
fpassthru($fp);
fclose($fp);
exit;
}
//判别文件夹是不是存在,不存在则创立
elseif(!file_exists($CacheDir)){
if(!file_exists(CACHE_ROOT)){
mkdir(CACHE_ROOT,0777);
chmod(CACHE_ROOT,0777);
}
mkdir($CacheDir,0777);
chmod($CacheDir,0777);
}
//回调函数,当法式停止时主动挪用此函数
function AutoCache($contents){
global $CacheUrl;
$fp=fopen($CacheUrl,'wb');
fwrite($fp,$contents);
fclose($fp);
chmod($CacheUrl,0777);
//生成新缓存的同时,主动删除一切的老缓存,以勤俭空间,可疏忽。
//DelOldCache();
return $contents;
}
function DelOldCache(){
chdir(CACHE_ROOT);
foreach (glob("*/*".CACHE_FIX) as $file){
if(time()-filemtime($file)>CACHE_TIME)unlink($file);
}
}
//回调函数 auto_cache
ob_start('AutoCache');
}else{
//不是GET的恳求就删除缓存文件。
if(file_exists($CacheUrl))unlink($CacheUrl);
}
?>
应该大致熟悉了一些学习过程,也许我的过程和你的有些出路,但是不管怎么样是殊途同归,我写这么多,也只是给大家一个借鉴的机会,至于好与不好,默默不敢打包票^0^ |
|