利用PHP生成靜態(tài)HTML文檔的原理
更新時間:2012年10月29日 23:15:58 作者:
利用PHP,將數(shù)據(jù)庫中的文章數(shù)據(jù)生成單個的HTML文檔。首先,有利于搜索引擎的收錄。其次,避免數(shù)據(jù)庫中的字段暴露在地址欄上,更安全
給出代碼:
<?php
//引入數(shù)據(jù)庫配置文件
include( dirname(dirname(__FILE__))."\include\config.php" );
/**
*
* 將數(shù)據(jù)庫中的文章生成單個HTML文件.
* @param Date $Date
* @param Time $Time
* @param String $Content
* @param String $Title
*/
function GenerateHTML($Date,$Time,$Content,$Title,$Name){
//將日期、時間變量分解成數(shù)組
$GetDateRow = explode("-", $Date);
$GetTimeRow = explode(":",$Time);
//得到文件的名字。比如:20121028210632.html
$FileName = $GetDateRow[0].$GetDateRow[1].$GetDateRow[2].$GetTimeRow[0].$GetTimeRow[1].$GetTimeRow[2].".html";
//打開并讀取模板內(nèi)容
$FP = fopen("tmp.html","r");
$Str = fread($FP,filesize("tmp.html"));
//得到替換后的模板內(nèi)容
$Str = str_replace("{Title}",$Title, $Str);
$Str = str_replace("{Content}", $Content, $Str);
$Str = str_replace("{Name}", $Name, $Str);
$Str = str_replace("{Date}", $Date,$Str);
$Str = str_replace("{Time}", $Time, $Str);
//關(guān)閉文件,減少服務(wù)器的壓力。
fclose($FP);
//將內(nèi)容寫入HTML文件
$Handle = fopen($FileName,"w");
fwrite($Handle,$Str);
fclose($Handle);
//小測一下
//echo "ok,done!";
}
//數(shù)據(jù)庫的操作
$querysql = "select * from article";
$queryset = mysql_query($querysql);
//循環(huán)生成HTML文件。
while( $row = mysql_fetch_array($queryset) ){
GenerateHTML($row['date'],$row['time'],$row['content'],$row['title'],$row['name']);
}
復(fù)制代碼 代碼如下:
<?php
//引入數(shù)據(jù)庫配置文件
include( dirname(dirname(__FILE__))."\include\config.php" );
/**
*
* 將數(shù)據(jù)庫中的文章生成單個HTML文件.
* @param Date $Date
* @param Time $Time
* @param String $Content
* @param String $Title
*/
function GenerateHTML($Date,$Time,$Content,$Title,$Name){
//將日期、時間變量分解成數(shù)組
$GetDateRow = explode("-", $Date);
$GetTimeRow = explode(":",$Time);
//得到文件的名字。比如:20121028210632.html
$FileName = $GetDateRow[0].$GetDateRow[1].$GetDateRow[2].$GetTimeRow[0].$GetTimeRow[1].$GetTimeRow[2].".html";
//打開并讀取模板內(nèi)容
$FP = fopen("tmp.html","r");
$Str = fread($FP,filesize("tmp.html"));
//得到替換后的模板內(nèi)容
$Str = str_replace("{Title}",$Title, $Str);
$Str = str_replace("{Content}", $Content, $Str);
$Str = str_replace("{Name}", $Name, $Str);
$Str = str_replace("{Date}", $Date,$Str);
$Str = str_replace("{Time}", $Time, $Str);
//關(guān)閉文件,減少服務(wù)器的壓力。
fclose($FP);
//將內(nèi)容寫入HTML文件
$Handle = fopen($FileName,"w");
fwrite($Handle,$Str);
fclose($Handle);
//小測一下
//echo "ok,done!";
}
//數(shù)據(jù)庫的操作
$querysql = "select * from article";
$queryset = mysql_query($querysql);
//循環(huán)生成HTML文件。
while( $row = mysql_fetch_array($queryset) ){
GenerateHTML($row['date'],$row['time'],$row['content'],$row['title'],$row['name']);
}
您可能感興趣的文章:
相關(guān)文章
CentOS 上搭建 PHP7 開發(fā)測試環(huán)境
本文給大家分享的是作者在centos上搭建部署php7的開發(fā)測試環(huán)境的全部過程,非常的細(xì)致,有需要的小伙伴可以參考下2017-02-02
PHP+Mysql+Ajax實現(xiàn)淘寶客服或阿里旺旺聊天功能(前臺頁面)
這篇文章主要介紹了用php+mysql+ajax實現(xiàn)淘寶客服或阿里旺旺聊天功能之前臺頁面,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-06-06
用HTML/JS/PHP方式實現(xiàn)頁面延時跳轉(zhuǎn)的簡單實例
下面小編就為大家?guī)硪黄肏TML/JS/PHP方式實現(xiàn)頁面延時跳轉(zhuǎn)的簡單實例。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-07-07
CI框架教程之優(yōu)化驗證碼機(jī)制詳解【驗證碼輔助函數(shù)】
這篇文章主要介紹了CI框架教程之優(yōu)化驗證碼機(jī)制,結(jié)合實例形式詳細(xì)分析了CodeIgniter框架驗證碼輔助函數(shù)相關(guān)使用及優(yōu)化操作技巧,需要的朋友可以參考下2019-04-04
thinkPHP5使用Rabc實現(xiàn)權(quán)限管理
這篇文章主要介紹了thinkPHP5使用Rabc實現(xiàn)權(quán)限管理功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-08-08
Laravel ORM 數(shù)據(jù)model操作教程
今天小編就為大家分享一篇Laravel ORM 數(shù)據(jù)model操作教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10
zen cart實現(xiàn)訂單中增加paypal中預(yù)留電話的方法
這篇文章主要介紹了zen cart實現(xiàn)訂單中增加paypal中預(yù)留電話的方法,涉及數(shù)據(jù)庫字段的添加、ipn_create_order_array函數(shù)的修改及后臺模型文件的相應(yīng)修改技巧,需要的朋友可以參考下2016-07-07
關(guān)于laravel 數(shù)據(jù)庫遷移中integer類型是無法指定長度的問題
今天小編就為大家分享一篇關(guān)于laravel 數(shù)據(jù)庫遷移中integer類型是無法指定長度的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10

