利用PHP生成靜態(tài)html頁面的原理
前言
如果每次用戶點擊動態(tài)鏈接的時候都會對服務(wù)器發(fā)送數(shù)據(jù)查詢的要求,對于一個訪問量可能達百萬千萬級別的網(wǎng)站來說 這無疑是服務(wù)器一個大大的負擔(dān),所以把動態(tài)數(shù)據(jù)轉(zhuǎn)換成靜態(tài)html頁面就成了節(jié)省人力物力的首選因為此前沒有相應(yīng)的經(jīng)驗,所以這篇文章和大家分享利用PHP生成靜態(tài)html頁面的原理和方法,有需要的可以一起來看看。
一、思路分析
其實,實現(xiàn)靜態(tài)頁面生成功能的原理很簡單,主要利用幾個常見的PHP文件操作函數(shù)對文件進行操作,其思路流程如下:
生成靜態(tài)頁面流程圖
二、功能實現(xiàn)
設(shè)置example.html為模板文件,然后按照此模板文件生成article-1.html~article-5.html,以此來做簡單的演示,代碼如下:
<?php //將數(shù)據(jù)存入二維數(shù)組 $con=array(array('文章標(biāo)題1','文章內(nèi)容1'),array('文章標(biāo)題2','文章內(nèi)容2'),array('文章標(biāo)題3','文章內(nèi)容3'),array('文章標(biāo)題4','文章內(nèi)容4'),array('文章標(biāo)題5','文章內(nèi)容5')); foreach($con as $id=>$val){ //循環(huán)生成 $title=$val[0]; $content=$val[1]; $path="article-".($id+1).".html"; //替換example內(nèi)容,并獲取內(nèi)容賦值給$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
(文件名,打開方式),打開文件函數(shù),若無文件,則創(chuàng)建。其返回值為資源型;
fread
(文件名,讀取字節(jié)數(shù)),讀取文件內(nèi)容及對應(yīng)的字節(jié)數(shù);
str_replace
(規(guī)定要查找的值,替換被查找值的值,被搜索的字符串),替換函數(shù);
fclose
(文件名),關(guān)閉文件;
fwrite
(要寫入的打開文件,要寫入打開文件的字符串,要寫入的最大字節(jié)數(shù))。
三、總結(jié)
原理比較簡單,作為php初學(xué)者,要把每個基礎(chǔ)知識扎實學(xué)好,你的PHP之路定會風(fēng)光無限,以上就是這篇文章的全部內(nèi)容了,希望能對各位PHP開發(fā)者們能有所幫助,如果有疑問大家可以留言交流。
- PHP生成HTML靜態(tài)頁面實例代碼
- 采用thinkphp自帶方法生成靜態(tài)html文件詳解
- 用PHP生成靜態(tài)HTML速度快類庫
- PHP批量生成靜態(tài)HTML的簡單原理和方法
- PHP定時自動生成靜態(tài)HTML的實現(xiàn)代碼
- PHP 動態(tài)生成靜態(tài)HTML頁面示例代碼
- PHP將整個網(wǎng)站生成HTML純靜態(tài)網(wǎng)頁的方法總結(jié)
- php將數(shù)據(jù)庫中所有內(nèi)容生成靜態(tài)html文檔的代碼
- 通用PHP動態(tài)生成靜態(tài)HTML網(wǎng)頁的代碼
- php添加文章時生成靜態(tài)HTML文章的實現(xiàn)代碼
相關(guān)文章
php采用file_get_contents代替使用curl實例
這篇文章主要介紹了php采用file_get_contents代替使用curl的方法,實例講述了file_get_contents模擬curl的post方法,對于服務(wù)器不支持curl的情況來說有一定的借鑒價值,需要的朋友可以參考下2014-11-11PHP遞歸寫入MySQL實現(xiàn)無限級分類數(shù)據(jù)操作示例
這篇文章主要介紹了PHP遞歸寫入MySQL實現(xiàn)無限級分類數(shù)據(jù)操作,涉及mysql數(shù)據(jù)庫的創(chuàng)建以及php遞歸寫入、讀取數(shù)據(jù)庫分類相關(guān)操作技巧,需要的朋友可以參考下2018-07-07php實現(xiàn)比較全的數(shù)據(jù)庫操作類
這篇文章主要介紹了php實現(xiàn)比較全的數(shù)據(jù)庫操作類,可實現(xiàn)基本的數(shù)據(jù)庫連接、執(zhí)行SQL語句及錯誤提示等相關(guān)技巧,需要的朋友可以參考下2015-06-06