方法一、
這個實現其實蠻簡單,只不過官網上的手冊寫得不是很詳細。
首先你在入口文件中定義你生成html頁面的路徑常量HTML_PATH,一般路徑都定義在根目錄,比較直觀。把手冊上寫得代碼copy到你要生成頁面的應用項目的配置文件中,只要寫靜態緩存規則就行。比如你要生成關於我們頁面,你的規則可以這樣寫
'HTML_CACHE_ON' => true, // 開啟靜態緩存
'HTML_CACHE_TIME' => 60, // 全局靜態緩存有效期(秒)
'HTML_FILE_SUFFIX' => '.shtml', // 設置靜態緩存文件后綴
'HTML_CACHE_RULES' => array( // 定義靜態緩存規則
'About' => array('/About/index.html'),
)
當你訪問關於我們頁面的時候,就會生成這個頁面的純html頁面,當你這個頁面更新數據的時候,隔60秒后,前台頁面就會自動重新寫入,因為緩存有效期設置的60秒,你也可以設置永久有效,這樣的話不會每隔60秒重新寫入一次,浪費性能。設置永久有效的話,你更新數據前台是不會更新的,這個時候你只要刪除緩存就行了,緩存就是這個生成的頁面文件,將其刪除。或者你在后台寫個一鍵更新緩存等都可以,這種緩存訪問頁面速度是非常可觀的。而且還能脫離程序運行,不怕程序發生意外報錯情況。
方法二、
ob_start(); //打開緩沖區
$data = ob_get_contents(); //獲取緩沖區的內容
ob_end_clean(); //關閉緩沖
$fp = fopen("/index.html","w"); //將內容寫入文件
if(!$fp)
{
echo "文件無權限";
exit();
}
else
{
fwrite($fp,$data);
fclose($fp);
echo "生成成功";
}
這代碼寫在前台相應的控制器中,會自動生成html頁面。
