利用PHP,將數據庫中的文章數據生成單個的HTML文檔。首先,有利於搜索引擎的收錄。其次,避免數據庫中的字段暴露在地址欄上,更安全。
給出代碼:
<?php //引入數據庫配置文件 include( dirname(dirname(__FILE__))."\include\config.php" ); /** * * 將數據庫中的文章生成單個HTML文件. * @param Date $Date * @param Time $Time * @param String $Content * @param String $Title */ function GenerateHTML($Date,$Time,$Content,$Title,$Name){ //將日期、時間變量分解成數組 $GetDateRow = explode("-", $Date); $GetTimeRow = explode(":",$Time); //得到文件的名字。比如:20121028210632.html $FileName = $GetDateRow[0].$GetDateRow[1].$GetDateRow[2].$GetTimeRow[0].$GetTimeRow[1].$GetTimeRow[2].".html"; //打開並讀取模板內容 $FP = fopen("tmp.html","r"); $Str = fread($FP,filesize("tmp.html")); //得到替換後的模板內容 $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); //關閉文件,減少服務器的壓力。 fclose($FP); //將內容寫入HTML文件 $Handle = fopen($FileName,"w"); fwrite($Handle,$Str); fclose($Handle); //小測一下 //echo "ok,done!"; } //數據庫的操作 $querysql = "select * from article"; $queryset = mysql_query($querysql); //循環生成HTML文件。 while( $row = mysql_fetch_array($queryset) ){ GenerateHTML($row['date'],$row['time'],$row['content'],$row['title'],$row['name']); }
OK,DONE!