PHP批量生成靜態(tài)HTML的簡(jiǎn)單原理和方法
現(xiàn)在的CMS基本上都支持文章生成HTML,生成HTML靜態(tài)網(wǎng)頁的好處就不用多說了吧,無論是頁面打開的瀏覽速度,還是有利于搜索引擎優(yōu)化SEO,都有明顯的提高,有時(shí)候網(wǎng)頁中有或多或少的漏洞,把PHP轉(zhuǎn)換成HTML格式也有力地保護(hù)了網(wǎng)站。
PHP生成HTML的技術(shù)要比ASP的技術(shù)相對(duì)來說要簡(jiǎn)單一點(diǎn),下面簡(jiǎn)要說一下怎樣用PHP批量生成HTML技術(shù)吧,先看一下面源碼:
<?php
if($_POST[button]){
$sql="select * from doorsjk_about where id<12";
$rs=$db->query($sql);
while($row=$db->fetch_array($rs)){
$path='list12'.$row[id].'.html';
$fp=fopen("../group/about.html","r");
$str=fread($fp,filesize("../group/about.html"));
$str=str_replace("{title}",$row[title],$str);
$str=str_replace("{name}",$system['name'],$str);
$str=str_replace("{content}",$row[content],$str);
$str=str_replace("{copyright}",$system['copyright'],$str);
fclose($fp);
$handle=fopen("../group/".$path,"w");
fwrite($handle,$str);
echo "<font color='red'>正在生成</font>";
echo "$path";
fclose($handle);
}
echo "<script>alert('生成成功!');window.location.href='Onlyhtml.php';</script>";
}
?>
<form id="form1" name="form1" method="post" action="">
<label><div style="margin:200px 200px;"><img src="../images/html.jpg" />
<input type="submit" name="button" id="button" value="單頁生成" />
</div>
</label>
</form>
首先將連接數(shù)據(jù)庫的代碼包含進(jìn)來,下面是一個(gè)點(diǎn)擊的表單,當(dāng)接受到按鈕 button 后,就直接循環(huán)生成HTML,這里的$path='list12′.$row[id].'.html';是生成的文件名稱,而$fp=fopen(“../group/about.html”,”r”);是打開的模板文件,只要做成自己想要的HTML文件就可以了,這里用str_replace函數(shù)來做替換的標(biāo)簽,這樣就可以在HTML里面調(diào)用類似于{title}這樣的標(biāo)簽生成HTML文件了,舉一反三,簡(jiǎn)單的HTML批量生成就做成了。
在HTML文件里調(diào)用標(biāo)簽是:{title} ,這樣就直接調(diào)到讀取的數(shù)據(jù)庫里文件:$row[title],如果數(shù)據(jù)量很大,可以分段批量生成,就是生成ID:從()到()之間。用limit來接受調(diào)用。至于HTML里面要用到的動(dòng)態(tài)文件,比如生成靜態(tài)后還要統(tǒng)計(jì)文章的讀取次數(shù),這個(gè)動(dòng)態(tài)的調(diào)用可以封裝成JS文件,嵌入進(jìn)來就行了。
這里介紹的是批量重新生成,其實(shí)還有在填加新聞時(shí)就生成HTML文件,編輯文章內(nèi)容時(shí)生成HTML文件,其實(shí)原理上都差不多,我會(huì)寫下來,可以做個(gè)參考。
- PHP生成HTML靜態(tài)頁面實(shí)例代碼
- 采用thinkphp自帶方法生成靜態(tài)html文件詳解
- 用PHP生成靜態(tài)HTML速度快類庫
- PHP定時(shí)自動(dòng)生成靜態(tài)HTML的實(shí)現(xiàn)代碼
- PHP 動(dòng)態(tài)生成靜態(tài)HTML頁面示例代碼
- PHP將整個(gè)網(wǎng)站生成HTML純靜態(tài)網(wǎng)頁的方法總結(jié)
- php將數(shù)據(jù)庫中所有內(nèi)容生成靜態(tài)html文檔的代碼
- 通用PHP動(dòng)態(tài)生成靜態(tài)HTML網(wǎng)頁的代碼
- php添加文章時(shí)生成靜態(tài)HTML文章的實(shí)現(xiàn)代碼
- 利用PHP生成靜態(tài)html頁面的原理
相關(guān)文章
thinkPHP模板算術(shù)運(yùn)算相關(guān)函數(shù)用法分析
這篇文章主要介紹了thinkPHP模板算術(shù)運(yùn)算相關(guān)函數(shù)用法,結(jié)合簡(jiǎn)單實(shí)例形式分析了thinkPHP關(guān)于算數(shù)運(yùn)算與參數(shù)傳遞的相關(guān)技巧,需要的朋友可以參考下2016-07-07stripos函數(shù)知識(shí)點(diǎn)實(shí)例分享
在本篇內(nèi)容中我們給大家分享了關(guān)于stripos函數(shù)知識(shí)點(diǎn)實(shí)例內(nèi)容,有需要的朋友們跟著學(xué)習(xí)下。2019-02-02php如何修改SESSION的生存存儲(chǔ)時(shí)間的實(shí)例代碼
本篇文章主要介紹了php如何修改SESSION的生存時(shí)間的實(shí)例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-07-07php 流程控制switch的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)硪黄猵hp 流程控制switch的簡(jiǎn)單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06php實(shí)現(xiàn)的短網(wǎng)址算法分享
這篇文章主要介紹了php實(shí)現(xiàn)的短網(wǎng)址算法,理論上支持1,073,741,824個(gè)短網(wǎng)址,個(gè)人使用足夠了,需要的朋友可以參考下2014-06-06ThinkPHP入口文件設(shè)置及相關(guān)注意事項(xiàng)分析
這篇文章主要介紹了ThinkPHP入口文件設(shè)置及相關(guān)注意事項(xiàng),以注釋的形式詳細(xì)分析了入口文件設(shè)置時(shí)相關(guān)設(shè)置項(xiàng)的含義與設(shè)置技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-12-12利用PHP腳本在Linux下用md5函數(shù)加密字符串的方法
這篇文章主要介紹了利用PHP腳本在Linux下用md5函數(shù)加密字符串的方法,只需Linux系統(tǒng)中安裝過PHP然后在命令行中操作文中示例即可,需要的朋友可以參考下2015-06-06ThinkPHP實(shí)現(xiàn)轉(zhuǎn)換數(shù)據(jù)庫查詢結(jié)果數(shù)據(jù)到對(duì)應(yīng)類型的方法
這篇文章主要介紹了ThinkPHP實(shí)現(xiàn)轉(zhuǎn)換數(shù)據(jù)庫查詢結(jié)果數(shù)據(jù)到對(duì)應(yīng)類型的方法,涉及thinkPHP模型類操作及針對(duì)源碼文件的相關(guān)修改方法,需要的朋友可以參考下2017-11-11