現在很多**系統,如dedecms、phpcms、帝國等知名內容管理系統都提供生成靜態頁面的功能,這不光有利於搜尋引擎的抓取,而且還能有效降低伺服器壓力。對於學習php,將要從事web**開發的朋友們來說,了解這個功能是必須的,下面來分享一下php生成靜態頁面的原理。其實,實現靜態頁面生成功能的原理很簡單,主要利用幾個常見的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,$str);
$str=str_replace("",$content,$str);
fclose($fp);
//新建空白檔案,將$str寫入
$handle=fopen($path,"w");
fwrite($handle,$str);
fclose($handle);
echo "生成".$path."";}
?>
}
fopen
(檔名,開啟方式),開啟檔案函式,若無檔案,則建立。其返回值為資源型;
fread
(檔名,讀取位元組數),讀取檔案內容及對應的位元組數;
str_replace
(規定要查詢的值,替換被查詢值的值,被搜尋的字串),替換函式;
fclose
(檔名),關閉檔案;
fwrite
(要寫入的開啟檔案,要寫入開啟檔案的字串,要寫入的最大位元組數)。
利用PHP生成靜態頁面
autohtml.php class shtml 描述 繫結資料來源,引數為一陣列。datasource arr 描述 設定檔案存放路徑。dir dir function setfilename filename function getmod function setmod mod functio...
php生成靜態html頁面
ob start 是開啟緩衝區的,就是要把您需要生成的靜態檔案的內容快取在這裡 ob get contents 是讀出緩衝區裡的內容,下面有 為例 ob end clean 這個比較重要,只有使用了這個函式後,緩衝區裡的內容才會讀 ob start require index.php 模板頁面 te...
PHP生成靜態頁面
php生成靜態頁面 php生成靜態頁面的條件 使用ob start 方法開啟快取區也是生成靜態頁面的開始 使用ob get contect 方法獲取快取內容 使用ob clean 方法清空快取 ob start 開啟快取區 filename date ymdhis rand 1000,9999 ht...