>  기사  >  백엔드 개발  >  PHP缓存页面方法

PHP缓存页面方法

WBOY
WBOY원래의
2016-06-20 13:03:421204검색

PHP缓存页面函数。

<p>/*****************************************************************</p>-- 函数名:cache_page(包括cache_page_go)<br />-- 作  用:轻松快速缓存全站<br />-- 参  数:缓存时间(单位:秒)<br />-- 返回值:输出内容<br />-- 实  例:cache_page(300);  函数使用在页面的最上方<br />*******************************************************************/<br /><br />function cache_page($refresh=20){<br />	ob_start();//开启缓冲区<br />	$temp=sha1($_SERVER['PHP_SELF'].'|G|'.serialize($_GET).'|P|'.serialize($_POST));//缓存文件名字<br />	$temp=dirname(__FILE__).'/cache/'.$temp;//缓存文件路径<br />	if(!file_exists($temp)){//缓存文件不存在<br />		register_shutdown_function('cache_page_go',$temp);<br />	}else{//缓存文件存在<br />		if((time()-filemtime($temp))>$refresh ){//缓存超时<br />			register_shutdown_function('cache_page_go',$temp);//调用函数<br />		}else{//正常使用缓存文件<br />			$temp=file_get_contents($temp);//取出缓存文件内容<br />			echo $temp;//输出缓存内容<br />			$temp=ob_get_contents();//取出缓冲区内容<br />			ob_get_clean();    //清空缓冲区<br />			echo $temp;      //输出<br />			unset($temp,$refresh);/*注销变量*/<br />			exit();<br />		}<br />	}<br /><p>}</p><p><br /></p>function cache_page_go($file){<br />	$output=ob_get_contents();//获取缓冲区内容<br />	ob_get_clean();           //清空缓冲区<br />	file_put_contents($file,$output,LOCK_EX);//写入缓存文件<br />	echo $output;//输出缓存内容<br />	unset($output,$file);/*注销变量*/<br />	exit();<br /><p>}</p>

建议将该函数放置在页面的最开始处


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.