background image

php 静态缓存提升网站访问速度的实现代码

一、以下代码要求:
1.系统支持 php
2.支持 file_get_contents file_put_contents [也可以用同样作用的函数替换]
3.最好支持 gzcompress
二、使用方法
1.下载下面分享的 huncun.php 文件
2.在网站根目录建文件夹 huancun(或其它)
3.复制 huncun.php 到 huancun 目录下
4.在 huancun 目录下建文件夹 cache 目录
5.

 

在用网站公共文件头或都生成静态的网页头上 加载本文件

include("/huancun/huancun.php");
6.清空缓存
三、缺点
1.

 

使用本系统不能实时更新内容 必须清空缓存后才能更新或者是到了设定的缓存时间才会

更新
2.第一次访问速度比较慢,因为没有缓存.第二次就是调用缓存文件,那时候就快了
3.缓存文件占磁盘空间,建议服务器或者空间比较大的使用.或者定期删除缓存文件
例子,
<?php
/**
 * 清空缓存代码
 * www.jbxue.com
*/
if($_GET['phphuancun']!="true"){
define("HC_PATH",dirname(__FILE__)."/cache/");
define("HC_TIME",1);
echo HC_getcache();exit;
}
function HC_getcache($iscache='')
{
$url="http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
$cacheurl=strpos($url,"?")?$url."&phphuancun=true":$url."?phphuancun=true";
$cachename=HC_PATH.md5($url).".c";
 
$cachetime=$iscache?time()+1:time()-(HC_TIME * 60*60);
if(file_exists($cachename) && filemtime($cachename)>=$cachetime){
$return=file_get_contents($cachename);$data=function_exists(gzcompress)?
@gzuncompress($return):$return;
return unserialize($data);
}else{$return=file_get_contents($cacheurl);HC_writecache($cachename,$return);return $return;}