利用PHP,将数据库中的文章数据生成单个的HTML文档。首先,有利于搜索引擎的收录。其次,避免数据库中的字段暴露在地址栏上,更安全。 给出代码:
/**
- 将数据库中的文章生成单个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}",$Str);
$Str = str_replace("{Content}",$Str);
$Str = str_replace("{Name}",$Name,$Str);
$Str = str_replace("{Date}",$Date,$Str);
$Str = str_replace("{Time}",$Str);
//将内容写入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']);
}