欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

利用PHP生成静态HTML文档的原理

程序员文章站 2022-05-08 23:11:37
给出代码: 复制代码 代码如下:
给出代码:
复制代码 代码如下:

<?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']);
}