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添加MySQL数据记录代码
Jun 07 PHP
php面向对象全攻略 (七) 继承性
Sep 30 PHP
PHP 类商品秒杀计时实现代码
May 05 PHP
浅析Apache中RewriteCond规则参数的详细介绍
Jun 30 PHP
PHP命名空间(namespace)的使用基础及示例
Aug 18 PHP
PHP MVC框架skymvc支持多文件上传
May 26 PHP
Yii框架分页实现方法详解
May 20 PHP
使用PHP+MySql实现微信投票功能实例代码
Sep 29 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
Nov 13 PHP
PHP合并两个或多个数组的方法
Jan 20 PHP
PHP chr()函数讲解
Feb 11 PHP
Yii框架小部件(Widgets)用法实例详解
May 15 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
全国FM电台频率大全 - 9 上海市
2020/03/11 无线电
多重?l件?合查?(一)
2006/10/09 PHP
让PHP开发者事半功倍的十大技巧小结
2010/04/20 PHP
php下通过伪造http头破解防盗链的代码
2010/07/03 PHP
PHP实现基于回溯法求解迷宫问题的方法详解
2017/08/17 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
PHP面向对象程序设计子类扩展父类(子类重新载入父类)操作详解
2019/06/14 PHP
php时间戳转换代码详解
2019/08/04 PHP
让firefox支持IE的一些方法的javascript扩展函数代码
2010/01/02 Javascript
ExtJs事件机制基本代码模型和流程解析
2010/10/24 Javascript
javascript中定义私有方法说明(private method)
2014/01/27 Javascript
js实现汉字排序的方法
2015/07/23 Javascript
jQuery qrcode生成二维码的方法
2016/04/03 Javascript
基于Bootstrap和jQuery构建前端分页工具实例代码
2016/11/23 Javascript
JavaScript字符串对象(string)基本用法示例
2017/01/18 Javascript
React 使用browserHistory项目访问404问题解决
2018/06/01 Javascript
cocos2dx+lua实现橡皮擦功能
2018/12/20 Javascript
vue模式history下在iis中配置流程
2019/04/17 Javascript
axios封装,使用拦截器统一处理接口,超详细的教程(推荐)
2019/05/02 Javascript
js+canvas绘制图形验证码
2020/09/21 Javascript
使用Python自动化破解自定义字体混淆信息的方法实例
2019/02/13 Python
python 实现rolling和apply函数的向下取值操作
2020/06/08 Python
Python 为什么推荐蛇形命名法原因浅析
2020/06/18 Python
财务方面个人工作的自我评价
2013/12/28 职场文书
个人评价范文分享
2014/01/11 职场文书
致跳高运动员广播稿
2014/01/13 职场文书
宿舍违规用电检讨书
2014/02/16 职场文书
《母鸡》教学反思
2014/02/25 职场文书
公司晚会主持词
2014/03/22 职场文书
关于青春的演讲稿800字
2014/08/22 职场文书
领导班子整改方案
2014/10/25 职场文书
起诉离婚协议书样本
2014/11/25 职场文书
接收函格式
2015/01/30 职场文书
端午节活动总结报告
2015/02/11 职场文书
英文辞职信范文
2015/05/13 职场文书
英语读书笔记
2015/07/02 职场文书