經常操作網站背景人都知道,現在大多數的網站系統,如dedecms、phpcms、帝國等知名內容管理系統都提供產生靜態頁面的功能,這不光有利於搜尋引擎的抓取,而且還能有效降低伺服器壓力,所以說這是一個很流行、實用的功能。對於學習PHP,將要從事WEB網站開發的朋友們來說,瞭解這個功能是必不可少的,由此,下面來分享一下PHP產生靜態頁面的原理。
一、思路分析
其實,實現靜態頁面產生功能的原理很簡單,主要利用幾個常見的PHP檔案操作函數對檔案進行操作,其思路流程如下:
產生靜態頁面流程圖
二、功能實現
設定example.html為模板檔案,然後按照此模板檔案產生article-1.html~article-5.html,以此來做簡單的示範,代碼如下:
$val){ //迴圈產生 $title=$val[0]; $content=$val[1]; $path="article-".($id+1).".html"; //替換example內容,並擷取內容賦值給$str $fp=fopen("example.html","r"); $str=fread($fp,filesize("example.html")); $str=str_replace("{title}",$title,$str); $str=str_replace("{content}",$content,$str); fclose($fp); //建立空白檔案,將$str寫入 $handle=fopen($path,"w"); fwrite($handle,$str); fclose($handle); echo "產生".$path."
";}?>}
註解:
- fopen(檔案名稱,開啟檔案),開啟檔案函數,若無檔案,則建立。其傳回值為資源型;
- fread(檔案名稱,讀取位元組數),讀取檔案內容及對應的位元組數;
- str_replace(規定要尋找的值,替換被尋找值的值,被搜尋的字串),替換函數;
- fclose(檔案名稱),關閉檔案;
- fwrite(要寫入的開啟檔案,要寫入開啟檔案的字串,要寫入的最大位元組數)。
三、最後
原理比較簡單,作為php初學者,要把每個基礎知識紮實學好,堅持每天擼碼,形成條件反射,其次以工作需求為導向,設定好階段性目標,相信,你的PHP之路定會風光無限,共勉!