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 相关文章推荐
把从SQL中取出的数据转化成XMl格式
Oct 09 PHP
PHP+javascript模拟Matrix画面
Oct 09 PHP
我用php+mysql写的留言本
Oct 09 PHP
php PDO中文乱码解决办法
Jul 20 PHP
PHP 根据IP地址控制访问的代码
Apr 22 PHP
ThinkPHP 防止表单重复提交的方法
Aug 08 PHP
simplehtmldom Doc api帮助文档
Mar 26 PHP
PHP无限分类(树形类)的深入分析
Jun 02 PHP
wampserver改变默认网站目录的办法
Aug 05 PHP
Nginx服务器上安装并配置PHPMyAdmin的教程
Aug 18 PHP
PHP中include和require的区别实例分析
May 07 PHP
Laravel构建即时应用的一种实现方法详解
Aug 31 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
根德YB400的电路分析
2021/03/02 无线电
PHP+SQL 注入攻击的技术实现以及预防办法
2011/01/27 PHP
php判断电脑访问、手机访问的例子
2014/05/10 PHP
PHP中如何使用session实现保存用户登录信息
2015/10/20 PHP
PHP的Yii框架中Model模型的学习教程
2016/03/29 PHP
PHP加MySQL消息队列深入理解
2021/02/27 PHP
javascript游戏开发之《三国志曹操传》零部件开发(三)情景对话中仿打字机输出文字
2013/01/23 Javascript
PHP+mysql+Highcharts生成饼状图
2015/05/04 Javascript
javascript+HTML5 Canvas绘制转盘抽奖
2020/05/16 Javascript
bootstrap常用组件之头部导航实现代码
2017/04/20 Javascript
分析javascript中9 个常见错误阻碍你进步
2017/09/18 Javascript
vue-cli V3.0版本的使用详解
2018/10/24 Javascript
jQuery实现当拉动滚动条到底部加载数据的方法分析
2019/01/24 jQuery
ES6中字符串的使用方法扩展
2019/06/04 Javascript
Vue 开发必须知道的36个技巧(小结)
2019/10/09 Javascript
Vue(定时器)解决mounted不能获取到data中的数据问题
2020/07/30 Javascript
python回溯法实现数组全排列输出实例分析
2015/03/17 Python
python select.select模块通信全过程解析
2017/09/20 Python
python3中的md5加密实例
2018/05/29 Python
Python 使用 prettytable 库打印表格美化输出功能
2019/12/26 Python
python连接mongodb集群方法详解
2020/02/13 Python
Django 返回json数据的实现示例
2020/03/05 Python
python如何处理程序无法打开
2020/06/16 Python
Python 日期与时间转换的方法
2020/08/01 Python
浅析CSS3 用text-overflow解决文字排版问题
2020/10/28 HTML / CSS
利用html5 canvas破解简单验证码及getImageData接口应用
2013/01/25 HTML / CSS
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
2012/05/30 面试题
泰山导游词
2015/02/02 职场文书
员工试用期转正自我评价
2015/03/10 职场文书
2015年妇联工作总结范文
2015/04/22 职场文书
热血教师观后感
2015/06/10 职场文书
招商银行收入证明
2015/06/17 职场文书
PyQt5结合QtDesigner实现文本框读写操作
2021/06/11 Python
Jackson 反序列化时实现大小写不敏感设置
2021/06/29 Java/Android
iOS 16进一步确认,一共支持16款iPhone
2022/04/28 数码科技
Spring 使用注解开发
2022/05/20 Java/Android