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与SQL注入攻击[二]
Apr 17 PHP
php创建多级目录代码
Jun 05 PHP
php操作sqlserver关于时间日期读取的小小见解
Nov 29 PHP
php checkbox 取值详细说明
Aug 19 PHP
php函数之子字符串替换&amp;#65279; str_replace
Mar 23 PHP
通过PHP的内置函数,通过DES算法对数据加密和解密
Jun 21 PHP
解析func_num_args与func_get_args函数的使用
Jun 24 PHP
PHP实现货币换算的方法
Nov 29 PHP
PHP使用strstr()函数获取指定字符串后所有字符的方法
Jan 07 PHP
PHP面向对象程序设计实例分析
Jan 26 PHP
php利用嵌套数组拼接与解析json的方法
Feb 07 PHP
php实现微信支付之现金红包
May 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
第4章 数据处理-php正则表达式-郑阿奇(续)
2011/07/04 PHP
PHP通过session id 实现session共享和登录验证的代码
2012/06/03 PHP
PHP实现的购物车类实例
2015/06/17 PHP
php workerman定时任务的实现代码
2018/12/23 PHP
删除重复数据的算法
2006/11/23 Javascript
基于jQuery图片平滑连续滚动插件
2009/04/27 Javascript
基于jquery的代码显示区域自动拉长效果
2011/12/07 Javascript
实用的JS正则表达式(手机号码/IP正则/邮编正则/电话等)
2013/01/11 Javascript
jQuery获取Select选择的Text和Value(详细汇总)
2013/01/25 Javascript
深入理解JavaScript 闭包究竟是什么
2013/04/12 Javascript
JS控制日期显示的小例子
2013/11/23 Javascript
JS获取复选框的值,并传递到后台的实现方法
2016/05/30 Javascript
为JQuery EasyUI 表单组件增加焦点切换功能的方法
2017/04/13 jQuery
详解vuejs之v-for列表渲染
2017/06/22 Javascript
Angular.js ng-file-upload结合springMVC的使用教程
2017/07/10 Javascript
vue select组件的使用与禁用实现代码
2018/04/10 Javascript
vue引入axios同源跨域问题
2018/09/27 Javascript
react国际化化插件react-i18n-auto使用详解
2020/03/31 Javascript
[07:37]DOTA2-DPC中国联赛2月2日Recap集锦
2021/03/11 DOTA
Python中字典映射类型的学习教程
2015/08/20 Python
Python判断值是否在list或set中的性能对比分析
2016/04/16 Python
python操作cfg配置文件方式
2019/12/22 Python
解决Pytorch训练过程中loss不下降的问题
2020/01/02 Python
Tensorflow累加的实现案例
2020/02/05 Python
Python selenium模拟手动操作实现无人值守刷积分功能
2020/05/13 Python
Python如何使用ElementTree解析xml
2020/10/12 Python
css3学习之2D转换功能详解
2016/12/23 HTML / CSS
马来西亚最大的在线隐形眼镜商店:MrLens
2019/03/27 全球购物
总务岗位职责
2013/11/19 职场文书
诚实守信演讲稿
2014/09/01 职场文书
机关驾驶员违规检讨书
2014/09/13 职场文书
对外汉语专业大学生职业生涯规划范文
2014/09/13 职场文书
钱塘江大潮导游词
2015/02/03 职场文书
医德医风个人总结
2015/02/28 职场文书
导游词之北京明十三陵
2019/10/28 职场文书
解决Laravel使用验证时跳转到首页的问题
2021/11/17 PHP