PHP批次產生靜態HTML的簡單原理與方法

高洛峰
發布: 2023-03-03 19:36:02
原創
1104 人瀏覽過

現在的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=&#39;list12&#39;.$row[id].&#39;.html&#39;;   

$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[&#39;name&#39;],$str);   
$str=str_replace("{content}",$row[content],$str);   
$str=str_replace("{copyright}",$system[&#39;copyright&#39;],$str);   
fclose($fp);   

$handle=fopen("../group/".$path,"w");    
fwrite($handle,$str);   
echo "<font color=&#39;red&#39;>正在生成</font>";   
echo "$path";   
fclose($handle);   
}   
echo "<script>alert(&#39;生成成功!&#39;);window.location.href=&#39;Onlyhtml.php&#39;;</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文件,嵌入進來就行了。

PHP批次產生靜態HTML的簡單原理與方法

這裡介紹的是批量重新生成,其實還有在填加新聞時就生成HTML文件,編輯文章內容時生成HTML文件,其實原理上都差不多,我會寫下來,可以做個參考。


更多PHP批量產生靜態HTML的簡單原理和方法相關文章請關注PHP中文網!


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!