PHP 動態網站變靜態緩存,加快網站訪問
添加時間:2014-9-17 3:43:37
添加:
思海網絡
有些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.清空緩存 參考http://www.oschina.net/code/snippet_202258_7018
缺點
1.使用本系統不能實時更新內容 必須清空緩存后才能更新或者是到了設定的緩存時間才會更新
2.第一次訪問速度比較慢,因為沒有緩存.第二次就是調用緩存文件,那時候就快了
3.緩存文件占磁盤空間,建議服務器或者空間比較大的使用.或者定期刪除緩存文件
<?php
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;}
}
function HC_writecache($name,$array)
{
function_exists(gzcompress)?$return =gzcompress(serialize($array)):$return=serialize($array);
@file_put_contents($name,$return);
}
?>
關鍵字:PHP、動態、網站、緩存
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解