【推薦閱讀】微服務還能火多久?>>>
網頁的前端頁面都會有部分頁面是靜態的,比如頭部、頁尾部分,但當這些引入頁面裡包含php**需要解析,並且長期不做變化的,則會消耗一定的資源,比如如下footer.html頁面,所以,將它們靜態化處理,是一種不錯的選擇手段。
**分享:
呼叫改函式需要先檢測靜態化檔案是否生成了,如果生成則將校驗字段設定為true,然後讀取相應快取檔案
//是否存在該快取在寫這個快取類的時候,剛開始想到使用用檔案建立/開啟/讀取,但是heredoc語法結構在**中解析變數不解析函式,存入檔案就是原樣存入檔案,但我希望存入**解析之後的檔案,這時候,php的ob系列函式就能解決我們的問題。$is_include=false;
//資料夾路徑
$path= cache_path
."/";
//開啟資料夾
$handle=opendir($path);
//讀取檔案while(($item=readdir($handle))!==false)}}
}//關閉權柄
closedir($handle);
//有則返回檔案內容,真實檔案位址不能為空,檔案內容不能為空,5分鐘更新檔案一次if($is_include===true&&!empty($realfilepath)&&!empty(file_get_contents($realfilepath))&&(time() - filemtime($realfilepath)) < 300)else//沒有就按照.txt儲存,返回編譯檔案內容就這樣,我們把頁面成功靜態化快取$new_name=$name.'.html';//新的檔名
$newpath=$path.$new_name;//存放的路徑
ob_start(); // 開始輸入緩衝includecommon_path
."/$name.html";
file_put_contents($newpath, ob_get_flush());//獲取緩衝區內容並寫入檔案
//$content=file_get_contents($newpath);//把檔案讀出到乙個字串
//return $content;
}
php的ob函式實現頁面靜態化
首先介紹一下php中ob快取常用到的幾個常用函式 ob start 開啟快取機制 ob get contents 獲取ob快取中的內容 ob clean 清除ob快取中的內容,但不關閉快取 ob end clean 清除ob快取中的內容,並關閉快取 ob flush 清空快取,輸出內容,但不關閉快取...
php頁面靜態化 偽靜態化ob快取使用
什麼是php靜態化 php靜態化的簡單理解就是使 生成頁面以靜態html的形式展現在訪客面前,php靜態化分純靜態化和偽靜態化,兩者的區別在於php生成靜態頁面的處理機制不同。真靜態化,也稱為磁碟快取 將資料持久化儲存到磁碟中,伺服器重啟 關機等操作不會造成資料的丟失 偽靜態化,也稱為記憶體快取 將...
php利用ob快取機制實現頁面靜態化方法全解
首先介紹一下php 中ob快取常用到的幾個常用函式 ob start 開啟快取機制 ob get contents 獲取ob快取中的內容 ob clean 清除ob快取中的內容,但不關閉快取 ob end clean 清除ob快取中的內容,並關閉快取 ob flush 清空快取,輸出內容,但不關閉快...