PHP之頁面靜態化初試ob函式

2021-10-05 11:43:48 字數 1348 閱讀 2950

【推薦閱讀】微服務還能火多久?>>>

網頁的前端頁面都會有部分頁面是靜態的,比如頭部、頁尾部分,但當這些引入頁面裡包含php**需要解析,並且長期不做變化的,則會消耗一定的資源,比如如下footer.html頁面,所以,將它們靜態化處理,是一種不錯的選擇手段。

**分享:

呼叫改函式需要先檢測靜態化檔案是否生成了,如果生成則將校驗字段設定為true,然後讀取相應快取檔案

//是否存在該快取

$is_include=false;

//資料夾路徑

$path= cache_path

."/";

//開啟資料夾

$handle=opendir($path);

//讀取檔案while(($item=readdir($handle))!==false)}}

}//關閉權柄

closedir($handle);

在寫這個快取類的時候,剛開始想到使用用檔案建立/開啟/讀取,但是heredoc語法結構在**中解析變數不解析函式,存入檔案就是原樣存入檔案,但我希望存入**解析之後的檔案,這時候,php的ob系列函式就能解決我們的問題。

//有則返回檔案內容,真實檔案位址不能為空,檔案內容不能為空,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 清空快取,輸出內容,但不關閉快...