PHP批量生成静态HTML的简单原理和方法


Posted in PHP onApril 20, 2014

现在的CMS基本上都支持文章生成HTML,生成HTML静态网页的好处就不用多说了吧,无论是页面打开的浏览速度,还是有利于搜索引擎优化SEO,都有明显的提高,有时候网页中有或多或少的漏洞,把PHP转换成HTML格式也有力地保护了网站。

PHP生成HTML的技术要比ASP的技术相对来说要简单一点,下面简要说一下怎样用PHP批量生成HTML技术吧,先看一下面源码:

<?php   
if($_POST[button]){   $sql="select * from doorsjk_about where id<12";   
$rs=$db->query($sql);   
while($row=$db->fetch_array($rs)){   
$path='list12'.$row[id].'.html';   
$fp=fopen("../group/about.html","r");   
$str=fread($fp,filesize("../group/about.html"));   
$str=str_replace("{title}",$row[title],$str);   
$str=str_replace("{name}",$system['name'],$str);   
$str=str_replace("{content}",$row[content],$str);   
$str=str_replace("{copyright}",$system['copyright'],$str);   
fclose($fp);   
$handle=fopen("../group/".$path,"w");    
fwrite($handle,$str);   
echo "<font color='red'>正在生成</font>";   
echo "$path";   
fclose($handle);   
}   
echo "<script>alert('生成成功!');window.location.href='Onlyhtml.php';</script>";   
}   
?>   
<form id="form1" name="form1" method="post" action="">   
  <label><div style="margin:200px 200px;"><img src="../images/html.jpg" />   
  <input type="submit" name="button" id="button" value="单页生成" />   
  </div>   
  </label>   
</form>

首先将连接数据库的代码包含进来,下面是一个点击的表单,当接受到按钮 button 后,就直接循环生成HTML,这里的$path='list12′.$row[id].'.html';是生成的文件名称,而$fp=fopen(“../group/about.html”,”r”);是打开的模板文件,只要做成自己想要的HTML文件就可以了,这里用str_replace函数来做替换的标签,这样就可以在HTML里面调用类似于{title}这样的标签生成HTML文件了,举一反三,简单的HTML批量生成就做成了。

在HTML文件里调用标签是:{title} ,这样就直接调到读取的数据库里文件:$row[title],如果数据量很大,可以分段批量生成,就是生成ID:从()到()之间。用limit来接受调用。至于HTML里面要用到的动态文件,比如生成静态后还要统计文章的读取次数,这个动态的调用可以封装成JS文件,嵌入进来就行了。

PHP批量生成静态HTML的简单原理和方法

这里介绍的是批量重新生成,其实还有在填加新闻时就生成HTML文件,编辑文章内容时生成HTML文件,其实原理上都差不多,我会写下来,可以做个参考。

PHP 相关文章推荐
PHP curl 并发最佳实践代码分享
Sep 05 PHP
解析PHP可变函数的经典用法
Jun 20 PHP
php实例分享之mysql数据备份
May 19 PHP
PHP之autoload运行机制实例分析
Aug 28 PHP
PHP字符串word末字符实现大小写互换的方法
Nov 10 PHP
php获取指定日期之间的各个周和月的起止时间
Nov 24 PHP
ThinkPHP中redirect用法分析
Dec 05 PHP
php简单实现快速排序的方法
Apr 04 PHP
PHP反射API示例分享
Oct 08 PHP
Mac系统下安装PHP Xdebug
Mar 30 PHP
PHP7.0连接DB操作实例分析【基于mysqli】
Sep 26 PHP
PHP7 字符串处理机制修改
Mar 09 PHP
php setcookie函数的参数说明及其用法
Apr 20 #PHP
PHP数据库操作之基于Mysqli的数据库操作类库
Apr 19 #PHP
PHP中批量生成静态html(命令行下运行PHP)
Apr 19 #PHP
PHP不用递归实现无限分级的例子分享
Apr 18 #PHP
利用php下载xls文件(自己动手写的)
Apr 18 #PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
Apr 18 #PHP
从PHP的源码中深入了解stdClass类
Apr 18 #PHP
You might like
雄兵连:天使彦天使彦为爱折翼,彦和炙心同时念动的誓言!
2020/03/02 国漫
比特率,大家看看这个就不用收音机音质去比MP3音质了
2021/03/01 无线电
php报表之jpgraph柱状图实例代码
2011/08/22 PHP
PHP json_decode函数详细解析
2014/02/17 PHP
PHP以mysqli方式连接类完整代码实例
2014/07/15 PHP
使用 PHPStorm 开发 Laravel
2015/03/24 PHP
php实现有趣的人品测试程序实例
2015/06/08 PHP
php 生成签名及验证签名详解
2016/10/26 PHP
JavaScipt中的Math.ceil() 、Math.floor() 、Math.round() 三个函数的理解
2010/04/29 Javascript
JavaScript 原型链学习总结
2010/10/29 Javascript
简略的前端架构心得&amp;&amp;基于editor为例子的编码小技巧
2010/11/25 Javascript
JQuery获取与设置HTML元素的内容或文本的实现代码
2014/06/20 Javascript
AngularJS基础 ng-mousemove 指令简单示例
2016/08/02 Javascript
小程序获取当前位置加搜索附近热门小区及商区的方法
2019/04/08 Javascript
Vue解析带html标签的字符串为dom的实例
2019/11/13 Javascript
基于better-scroll 实现歌词联动功能的代码
2020/05/07 Javascript
vant中的toast轻提示实现代码
2020/11/04 Javascript
[03:07]完美世界DOTA2联赛PWL DAY10 决赛集锦
2020/11/11 DOTA
Python、Javascript中的闭包比较
2015/02/04 Python
解决Pandas to_json()中文乱码,转化为json数组的问题
2018/05/10 Python
Python切片索引用法示例
2018/05/15 Python
pandas值替换方法
2018/07/10 Python
Python自动化运维之Ansible定义主机与组规则操作详解
2019/06/13 Python
pyqt5 删除layout中的所有widget方法
2019/06/25 Python
Scrapy框架实现的登录网站操作示例
2020/02/06 Python
pycharm的python_stubs问题
2020/04/08 Python
CSS3教程(7):CSS3嵌入字体
2009/04/02 HTML / CSS
木马的传播途径主要有哪些
2016/04/08 面试题
什么是测试驱动开发(TDD)
2012/02/15 面试题
介绍一下Java中的static关键字
2012/05/12 面试题
自主招生自荐书
2013/11/29 职场文书
党员公开承诺践诺书
2014/03/25 职场文书
学生会副主席竞聘书
2014/03/31 职场文书
2014年就业工作总结
2014/11/26 职场文书
python周期任务调度工具Schedule使用详解
2021/11/23 Python
python实现双向链表原理
2022/05/25 Python