php添加文章時(shí)生成靜態(tài)HTML文章的實(shí)現(xiàn)代碼
PHP生成靜態(tài)文章HTML,有批量的生成,但比較標(biāo)準(zhǔn)的應(yīng)該是在添加文章時(shí)就生成HTML文章,編輯時(shí)再重新生成HTML文章,刪除文章時(shí)同樣也樣刪除多余出來(lái)的HTML文章,這時(shí)批量生成就顯得有點(diǎn)力不從心了,下面就介紹一下PHP在添加文章時(shí)如何生成靜態(tài)的HTML文件。
簡(jiǎn)單的添加文章表單這里就不寫(xiě)了,下面的這些源碼是接受表單傳過(guò)來(lái)的值而執(zhí)行的程序源碼,可以先拿過(guò)去測(cè)試一下。。。
<?php
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()是開(kāi)啟session的意思,寫(xiě)不寫(xiě)關(guān)系不是很大,這里按照PHP標(biāo)準(zhǔn)的寫(xiě)法添加上去了。
第二句就是包含鏈接數(shù)據(jù)庫(kù)的文件了。
下面$內(nèi)容=$_POST["內(nèi)容"];就是接受過(guò)來(lái)表單的內(nèi)容了。有幾項(xiàng)就接受幾項(xiàng)吧。
$mobanpath="../moban/moban.html"; 這個(gè)是模板的路徑。
if(file_exists($mobanpath)):檢驗(yàn)?zāi)0宓奈募欠翊嬖冢绻嬖诘脑捑蛨?zhí)行下面的模板標(biāo)簽替換操作。
再往下就是利用str_replace來(lái)執(zhí)行模板標(biāo)簽的替換操作了,同時(shí)建立HTML文件,最后通過(guò)SQL語(yǔ)句添加到數(shù)據(jù)庫(kù)里面,再返回到add.php添加文章標(biāo)單的地方,這里的生成HTML規(guī)則可以自己添加,比如按照時(shí)間來(lái)生成,或者按照文章ID來(lái)生成等。
- PHP生成HTML靜態(tài)頁(yè)面實(shí)例代碼
- 采用thinkphp自帶方法生成靜態(tài)html文件詳解
- 用PHP生成靜態(tài)HTML速度快類(lèi)庫(kù)
- PHP批量生成靜態(tài)HTML的簡(jiǎn)單原理和方法
- PHP定時(shí)自動(dòng)生成靜態(tài)HTML的實(shí)現(xiàn)代碼
- PHP 動(dòng)態(tài)生成靜態(tài)HTML頁(yè)面示例代碼
- PHP將整個(gè)網(wǎng)站生成HTML純靜態(tài)網(wǎng)頁(yè)的方法總結(jié)
- php將數(shù)據(jù)庫(kù)中所有內(nèi)容生成靜態(tài)html文檔的代碼
- 通用PHP動(dòng)態(tài)生成靜態(tài)HTML網(wǎng)頁(yè)的代碼
- 利用PHP生成靜態(tài)html頁(yè)面的原理
相關(guān)文章
解決php寫(xiě)入數(shù)據(jù)庫(kù)亂碼的問(wèn)題
在本文里小編給大家分享的是一篇關(guān)于解決php寫(xiě)入數(shù)據(jù)庫(kù)亂碼的問(wèn)題的知識(shí)點(diǎn)內(nèi)容,需要的朋友們可以學(xué)習(xí)下。2019-09-09PHP memcache在微信公眾平臺(tái)的應(yīng)用方法示例
這篇文章主要介紹了PHP memcache在微信公眾平臺(tái)的應(yīng)用方法,結(jié)合具體實(shí)例形式分析了php使用memcache保存用戶訪問(wèn)記錄與響應(yīng)用戶訪問(wèn)并給出提示信息的交互模式實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-09-09PHP正則之正向預(yù)查與反向預(yù)查講解與實(shí)例
這篇文章主要介紹了PHP正則之正向預(yù)查與反向預(yù)查詳解與實(shí)例,需要的朋友可以參考下2020-04-04php中獲得視頻時(shí)間總長(zhǎng)度的另一種方法
當(dāng)時(shí)獲得視頻長(zhǎng)度是采用網(wǎng)上的通用的獲得flv視頻文件長(zhǎng)度的方法,但是這個(gè)方法只對(duì)flv視頻支持,其他格式的視頻獲取到的值就很差了2011-09-09php中用date函數(shù)獲取當(dāng)前時(shí)間有誤的解決辦法
以下是對(duì)php中用date函數(shù)獲取當(dāng)前時(shí)間有誤的解決辦法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下2013-08-08PHP中break及continue兩個(gè)流程控制指令區(qū)別分析
php中常用的for與foreach循環(huán)中,經(jīng)常遇到條件判斷或中止循環(huán)的情況。而處理方式主要用到break及continue兩個(gè)流程控制指令,現(xiàn)在說(shuō)明主要區(qū)別2011-04-04