現在的CMS基本上都支援文章生成HTML,產生HTML靜態網頁的好處就不用多說了吧,無論是頁面開啟的瀏覽速度,還是有利於搜尋引擎優化SEO,都有明顯的提高,有時網頁中有或多或少的漏洞,把PHP轉換成HTML格式也有力地保護了網站。
PHP產生HTML的技術要比ASP的技術相對來說要簡單一點,下面簡要說一下怎麼用PHP批量生成HTML技術吧,先看一下面源碼:
<?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" / alt="PHP批次產生靜態HTML的簡單原理與方法" > <input type="submit" name="button" id="button" value="单页生成" /> </div> </label> </form>
首先將連接數據庫的代碼包含進來,下面是一個點擊的表單,當接受到按鈕button 後,就直接循環產生HTML,這裡的$path='list12′.$row[id].'.html';是產生的檔案名稱,而$fp= fopen(“../group/about.html”,”r”);是打開的模板文件,只要做成自己想要的HTML文件就可以了,這裡用str_replace函數來做替換的標籤,這樣就可以在HTML裡面呼叫類似{title}這樣的標籤來產生HTML檔了,舉一反三,簡單的HTML批次產生就做成了。
在HTML檔案裡呼叫標籤是:{title} ,這樣就直接調到讀取的資料庫裡檔案:$row[title],如果資料量很大,可以分段批次生成,就是生成ID:從( )到()之間。用limit來接受呼叫。至於HTML裡面要用到的動態文件,像是產生靜態後還要統計文章的讀取次數,這個動態的呼叫可以封裝成JS文件,嵌入進來就行了。
這裡介紹的是批量重新生成,其實還有在填加新聞時就生成HTML文件,編輯文章內容時生成HTML文件,其實原理上都差不多,我會寫下來,可以做個參考。
更多PHP批量產生靜態HTML的簡單原理和方法相關文章請關注PHP中文網!