PHP產生靜態文章HTML,有批量的產生,但比較標準的應該是在添加文章時就產生HTML文章,編輯時再重建HTML文章,刪除文章時同樣也樣刪除多餘出來的HTML文章,這時批量產生就顯得有點力不從心了,下面就介紹一下PHP在添加文章時如何產生靜態HTML檔案。
簡單的添加文章表單這裡就不寫了,下面的這些源碼是接受表單傳過來的值而執行的程式源碼,可以先拿過去測試一下。。。
複製代碼 代碼如下:
ob_start();
require_once("../inc/conn.php");
$typ=$_POST["typ"];
$title=$_POST["title"];
$content=$_POST["d_content"];
$author=$_POST["author"];
$source=$_POST["source"];
$mobanpath="../moban/moban.html";
if(file_exists($mobanpath))
{
$fp=fopen($mobanpath,"r");
$str=fread($fp,filesize($mobanpath));
$str=str_replace("-title-",$title,$str);
$str=str_replace("-time-",date("Y-m-d H:i:s"),$str);
$str=str_replace("-content-",$content,$str);
$str=str_replace("-author-",$author,$str);
$str=str_replace("-source-",$source,$str);
$foldername=date("Y-m-d");
$folderpath="../newslist/".$foldername;
if(!file_exists($folderpath))
{
mkdir($folderpath);
}
$filename=date("H-i-s").".html";
$filepath="$folderpath/$filename";
if(!file_exists($filepath))
{
$fp=fopen($filepath,"w");
fputs($fp,$str);
fclose($fp);
}
$filepath=$foldername."/".$filename;
$sql="insert into newscontent (newstypeid,newstitle,newspath,newssource,newstime) values ($typ,'$title','$filepath','$source','".date("Y-m-d H:i:s")."')";
mysql_query($sql);
header("location:add.php");
}
?>
ob_start()是開啟session的意思,寫不寫關係不是很大,這裡按照PHP標準的寫法添加上去了。
第二句就是包含連結資料庫的檔案了。
下面$內容=$_POST["內容"];就是接受過來表單的內容了。有幾項就接受幾項吧。
$mobanpath="../moban/moban.html"; 這個是模板的路徑。
if(file_exists($mobanpath)):檢驗模板的檔案是否存在,如果存在的話就執行下面的模板標籤替換操作。
再往下就是利用str_replace來執行模板標籤的替換操作了,同時建立HTML檔案,最後通過SQL語句添加到資料庫裡面,再返回到add.php添加文章標單的地方,這裡的產生HTML規則可以自己添加,比如按照時間來產生,或者按照文章ID來產生等。
http://www.bkjia.com/PHPjc/326608.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/326608.htmlTechArticlePHP產生靜態文章HTML,有批量的產生,但比較標準的應該是在添加文章時就產生HTML文章,編輯時再重建HTML文章,刪除文章時同樣也樣刪除...