PHP生成静态HTML文档实现代码

yipeiwu_com6年前PHP代码库

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

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【宜配屋www.yipeiwu.com】。

相关文章

推荐十款免费 WordPress 插件

推荐十款免费 WordPress 插件

2015必备wordpress插件列表。为了增强wordpress站点,一些优秀有效的免费wordpress 插件是必不可少的。 WordPress 插件用于提升 wordpress...

PHP+Ajax实现的博客文章添加类别功能示例

PHP+Ajax实现的博客文章添加类别功能示例

本文实例讲述了PHP+Ajax实现的博客文章添加类别功能。分享给大家供大家参考,具体如下: 一. 代码 fun.js function saveType(typename, user...

ThinkPHP删除栏目(实现批量删除栏目)

ThinkPHP删除栏目(实现批量删除栏目)

前段时间发表了一个删除栏目的随笔,当时实现的功能是删除一条信息,这次来实现一下批量删除栏目。 我们需要达到的是这样一个效果: 选中批量删除按钮后可以选中所有该页面的栏目,这个是前端页面...

php中替换字符串函数strtr()和str_repalce()的用法与区别

首先来看看这个php字符串替换函数 strtr()的两种用法: strtr(string,from,to) 或者strtr(string,array) 首先针对strtr函数第一种方式:...

利用php输出不同的心形图案

利用php输出不同的心形图案

首先为大家分享php输出心形曲线的代码,代码如下 <?php for($t=0;$t<360;$t++) { $y=2*cos($t)-cos(2*$t); /...