PHP缓存网页代码 加速访问
这个可以定时更新页面
<?php /****************** require(ECMS_PATH . 'cache/cache.php'); *******************************************/ //缓存存放目录 define('CACHE_ROOT', dirname(__FILE__) . DIRECTORY_SEPARATOR . 'cacheFile'); //缓存时间 单位秒 define('CACHE_TIME', 172800); //缓存文件后缀 define('CACHE_FIX','.php'); date_default_timezone_set("Asia/Shanghai"); $CacheName=md5($_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']) . CACHE_FIX; //缓存文件名 $CacheDir=CACHE_ROOT . DIRECTORY_SEPARATOR . substr($CacheName,0,1); $CacheUrl=$CacheDir . DIRECTORY_SEPARATOR . $CacheName; if(file_exists($CacheUrl) && time()-filemtime($CacheUrl)<CACHE_TIME){ echo gzuncompress(file_get_contents($CacheUrl)); 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'); $contents = "<!--缓存插件作者QQ:181021679: ".(date("Y-m-d H:i:s", time()))."-->\r\n".$contents; fwrite($fp,gzcompress($contents)); fclose($fp); chmod($CacheUrl,0777); return $contents; } ob_start('AutoCache'); clearstatcache();
这个适合不定时更新的
<?php /****************** require(ECMS_PATH . 'cache/content.php'); *******************************************/ //缓存存放目录 define('CACHE_ROOT', dirname(__FILE__) . DIRECTORY_SEPARATOR . 'cacheFile'); //缓存文件后缀 define('CACHE_FIX','.php'); date_default_timezone_set("Asia/Shanghai"); $CacheName=md5($_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']) . CACHE_FIX; //缓存文件名 $CacheDir=CACHE_ROOT . DIRECTORY_SEPARATOR . substr($CacheName,0,1); $CacheUrl=$CacheDir . DIRECTORY_SEPARATOR . $CacheName; if(file_exists($CacheUrl)){ echo str_replace("{time181}",date("Y-m-d h:i:m",time()-1440),gzuncompress(file_get_contents($CacheUrl))); 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'); $contents = "<!--缓存插件作者QQ:181021679 ".(date("Y-m-d H:i:s", time()))."-->\r\n".$contents; fwrite($fp,gzcompress($contents)); fclose($fp); chmod($CacheUrl,0777); return str_replace("{time181}",date("Y-m-d h:i:m",time()-1440),$contents); } ob_start('AutoCache'); clearstatcache();