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


Posted in PHP onOctober 29, 2012

给出代码:

<?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']); 
}
PHP 相关文章推荐
如何使用PHP获取网络上文件
Oct 09 PHP
PHP 和 XML: 使用expat函数(三)
Oct 09 PHP
一个简单的PHP投票程序源码
Mar 11 PHP
php.ini 配置文件的深入解析
Jun 17 PHP
php生成数组的使用示例 php全组合算法
Jan 16 PHP
php命令行使用方法和命令行参数说明
Apr 08 PHP
PHP使用内置dir类实现目录遍历删除
Mar 31 PHP
Mac环境下php操作mysql数据库的方法分享
May 11 PHP
[原创]ThinkPHP让../Public在模板不解析(直接输出)的方法
Oct 09 PHP
PHP内存使用情况如何获取
Oct 10 PHP
thinkphp跨库操作的简单代码实例
Sep 22 PHP
PHP实现的简单异常处理类示例
May 04 PHP
PHP学习笔记 IIS7下安装配置php环境
Oct 29 #PHP
PHP去掉从word直接粘贴过来的没有用格式的函数
Oct 29 #PHP
php daddslashes()和 saddslashes()有哪些区别分析
Oct 26 #PHP
PHP daddslashes 使用方法介绍
Oct 26 #PHP
Zend Studio去除编辑器的语法警告设置方法
Oct 24 #PHP
真正根据utf8编码的规律来进行截取字符串的函数(utf8版sub_str )
Oct 24 #PHP
php中检查文件或目录是否存在的代码小结
Oct 22 #PHP
You might like
开源SNS系统-ThinkSNS
2008/05/18 PHP
php下保存远程图片到本地的办法
2010/08/08 PHP
PHP面向对象程序设计之类常量用法实例
2014/08/20 PHP
jquery autocomplete自动完成插件的的使用方法
2010/08/07 Javascript
javascript实现日历控件(年月日关闭按钮)
2012/12/12 Javascript
调用innerHTML之后onclick失效问题的解决方法
2014/01/28 Javascript
JQuery中属性过滤选择器用法实例分析
2015/05/18 Javascript
javascript和jquery实现用户登录验证
2016/05/04 Javascript
js 截取或者替换字符串中的数字实现方法
2016/06/13 Javascript
在nginx上部署vue项目(history模式)的方法
2017/12/28 Javascript
详解react、redux、react-redux之间的关系
2018/04/11 Javascript
vue + webpack如何绕过QQ音乐接口对host的验证详解
2018/07/01 Javascript
iconfont的三种使用方式详解
2018/08/05 Javascript
浅谈Vue组件单元测试究竟测试什么
2020/02/05 Javascript
[44:09]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第二局
2016/02/25 DOTA
Python 3.x 连接数据库示例(pymysql 方式)
2017/01/19 Python
利用Python求阴影部分的面积实例代码
2018/12/05 Python
用Cython加速Python到“起飞”(推荐)
2019/08/01 Python
python模拟键盘输入 切换键盘布局过程解析
2019/08/15 Python
TensorFlow设置日志级别的几种方式小结
2020/02/04 Python
html5 canvas手势解锁源码分享
2020/01/07 HTML / CSS
沃尔玛加拿大:Walmart.ca
2020/03/02 全球购物
C/C++程序员常见面试题二
2015/11/19 面试题
天网工程实施方案
2014/03/26 职场文书
房屋租赁合同解除协议书
2014/10/11 职场文书
场地使用证明模板
2014/10/25 职场文书
2014村党支部书记党建工作汇报材料
2014/11/02 职场文书
2015年教师节活动总结
2015/03/20 职场文书
花木兰观后感
2015/06/10 职场文书
2015年信息技术教研组工作总结
2015/07/22 职场文书
小学总务工作总结
2015/08/13 职场文书
小学六一儿童节活动开幕词
2016/03/04 职场文书
诗词赏析-(浣溪沙)
2019/08/13 职场文书
如何让vue长列表快速加载
2021/03/29 Vue.js
Redis5之后版本的高可用集群搭建的实现
2021/04/27 Redis
css样式important规则的正确使用方式
2022/06/10 HTML / CSS