前言
如果每次用戶點擊動態鏈接的時候都會對服務器發送數據查詢的要求,對於一個訪問量可能達百萬千萬級別的網站來說 這無疑是服務器一個大大的負擔,所以把動態數據轉換成靜態html頁面就成了節省人力物力的首選因為此前沒有相應的經驗,所以這篇文章和大家分享利用PHP生成靜態html頁面的原理和方法,有需要的可以一起來看看。
一、思路分析
其實,實現靜態頁面生成功能的原理很簡單,主要利用幾個常見的PHP文件操作函數對文件進行操作,其思路流程如下:
生成靜態頁面流程圖
二、功能實現
設置example.html為模板文件,然後按照此模板文件生成article-1.html~article-5.html,以此來做簡單的演示,代碼如下:
<?php //將數據存入二維數組 $con=array(array('文章標題1','文章內容1'),array('文章標題2','文章內容2'),array('文章標題3','文章內容3'),array('文章標題4','文章內容4'),array('文章標題5','文章內容5')); foreach($con as $id=>$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."<br/>"; } ?> }
注解:
fopen
(文件名,打開方式),打開文件函數,若無文件,則創建。其返回值為資源型;
fread
(文件名,讀取字節數),讀取文件內容及對應的字節數;
str_replace
(規定要查找的值,替換被查找值的值,被搜索的字符串),替換函數;
fclose
(文件名),關閉文件;
fwrite
(要寫入的打開文件,要寫入打開文件的字符串,要寫入的最大字節數)。
三、總結
原理比較簡單,作為php初學者,要把每個基礎知識扎實學好,你的PHP之路定會風光無限,以上就是這篇文章的全部內容了,希望能對各位PHP開發者們能有所幫助,如果有疑問大家可以留言交流。