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中如何定义和使用常量
Feb 28 PHP
php过滤HTML标签、属性等正则表达式汇总
Sep 22 PHP
php关联数组快速排序的方法
Apr 17 PHP
PHP中使用array函数新建一个数组
Nov 19 PHP
Zend Framework教程之MVC框架的Controller用法分析
Mar 07 PHP
PHP请求Socket接口测试实例
Aug 12 PHP
ThinkPHP框架表单验证操作方法
Jul 19 PHP
php数据库的增删改查 php与javascript之间的交互
Aug 31 PHP
PHP设计模式之抽象工厂模式实例分析
Mar 25 PHP
laravel多条件查询方法(and,or嵌套查询)
Oct 09 PHP
PHP防止sql注入小技巧之sql预处理原理与实现方法分析
Dec 13 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
Oct 30 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
Php output buffering缓存及程序缓存深入解析
2013/07/15 PHP
ThinkPHP中html:list标签用法分析
2016/01/09 PHP
深入理解PHP中mt_rand()随机数的安全
2017/10/12 PHP
jQuery学习笔记之jQuery的事件
2010/12/22 Javascript
弹出层之1:JQuery.Boxy (一) 使用介绍
2011/10/06 Javascript
Javascript开发之三数组对象实例介绍
2012/11/12 Javascript
js获取location.href的参数实例代码
2013/08/02 Javascript
jquery中邮箱地址 URL网站地址正则验证实例代码
2013/09/15 Javascript
用js闭包的方法实现多点标注冒泡示例
2014/05/29 Javascript
JavaScript中函数表达式和函数声明及函数声明与函数表达式的不同
2015/11/15 Javascript
jQuery时间插件jquery.clock.js用法实例(5个示例)
2016/01/14 Javascript
AngularJS基础 ng-mouseleave 指令详解
2016/08/02 Javascript
在JavaScript中调用Java类和接口的方法
2016/09/07 Javascript
JavaScript数据结构之双向链表定义与使用方法示例
2017/10/27 Javascript
Vuejs 单文件组件实例详解
2018/02/09 Javascript
Node.js中的不安全跳转如何防御详解
2018/10/21 Javascript
快速解决layui弹窗按enter键不停弹窗的问题
2019/09/18 Javascript
Python实现过滤单个Android程序日志脚本分享
2015/01/16 Python
Python中使用copy模块实现列表(list)拷贝
2015/04/14 Python
详解Python中break语句的用法
2015/05/14 Python
Python for循环生成列表的实例
2018/06/15 Python
5分钟 Pipenv 上手指南
2018/12/20 Python
python把一个字符串切开的实例方法
2020/09/27 Python
PyCharm 解决找不到新打开项目的窗口问题
2021/01/15 Python
pytorch 中forward 的用法与解释说明
2021/02/26 Python
美国诺德斯特龙百货官网:Nordstrom
2016/08/23 全球购物
塔吉特百货公司官网:Target
2017/04/27 全球购物
Wedgwood美国官网:英国骨瓷,精美礼品及家居装饰
2018/02/17 全球购物
服装机修工岗位职责
2013/12/26 职场文书
农民工工资发放承诺书
2014/03/31 职场文书
会计专业毕业生自荐书
2014/06/25 职场文书
讲座开场白台词和结束语
2015/05/29 职场文书
工作证明格式范文
2015/06/15 职场文书
Django 如何实现文件上传下载
2021/04/08 Python
python疲劳驾驶困倦低头检测功能的实现
2022/04/04 Python
Python如何快速找到多个字典中的公共键(key)
2022/04/29 Python