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中$_SERVER的详细参数与说明
Jul 29 PHP
php 特殊字符处理函数
Sep 05 PHP
php 字符过滤类,用于过滤各类用户输入的数据
May 27 PHP
php设计模式 DAO(数据访问对象模式)
Jun 26 PHP
php指定函数参数默认值示例代码
Dec 04 PHP
用PHP实现弹出消息提示框的两种方法
Dec 17 PHP
php保存二进制原始数据为图片的程序代码
Oct 14 PHP
将FCKeditor导入PHP+SMARTY的实现方法
Jan 15 PHP
在Mac上编译安装PHP7的开发环境
Jul 28 PHP
PHP入门教程之操作符与控制结构流程详解
Sep 09 PHP
Yii2 中实现单点登录的方法
Mar 09 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
Feb 27 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 多维数组排序(usort,uasort)
2010/06/30 PHP
PHP获取文件绝对路径的代码(上一级目录)
2011/05/29 PHP
codeigniter数据库操作函数汇总
2014/06/12 PHP
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
2015/10/20 PHP
Sample script that displays all of the users in a given SQL Server DB
2007/06/16 Javascript
javascript js cookie的存储,获取和删除
2007/12/29 Javascript
window.requestAnimationFrame是什么意思,怎么用
2013/01/13 Javascript
jq选项卡鼠标延迟的插件实例
2013/05/13 Javascript
jQuery时间轴插件使用详解
2015/07/16 Javascript
SpringMVC框架下JQuery传递并解析Json格式的数据是如何实现的
2015/12/10 Javascript
JavaScript获取css行间样式,内连样式和外链样式的简单方法
2016/07/18 Javascript
详解JavaScript中数组的reduce方法
2016/12/02 Javascript
angularjs中ng-attr的用法详解
2016/12/31 Javascript
原生JS实现在线问卷调查投票特效
2017/01/03 Javascript
jQuery.parseHTML() 函数详解
2017/01/09 Javascript
Angular5中提取公共组件之radio list的实例代码
2018/07/10 Javascript
element-ui中select组件绑定值改变,触发change事件方法
2018/08/24 Javascript
微信小程序中this.data与this.setData的区别详解
2018/09/17 Javascript
JS前端面试必备——基本排序算法原理与实现方法详解【插入/选择/归并/冒泡/快速排序】
2020/02/24 Javascript
js实现简单放大镜效果
2020/03/07 Javascript
[46:55]完美世界DOTA2联赛决赛 FTD vs Phoenix 第三场 11.08
2020/11/11 DOTA
Python的Django框架中URLconf相关的一些技巧整理
2015/07/18 Python
Python多线程爬虫实战_爬取糗事百科段子的实例
2017/12/15 Python
Python cookbook(数据结构与算法)找到最大或最小的N个元素实现方法示例
2018/02/13 Python
如何使用Python进行OCR识别图片中的文字
2019/04/01 Python
Django 全局的static和templates的使用详解
2019/07/19 Python
Python动态导入模块和反射机制详解
2020/02/18 Python
Python 微信公众号文章爬取的示例代码
2020/11/30 Python
Vichy薇姿加拿大官网:法国药妆,全球专业敏感肌护肤领先品牌
2018/07/11 全球购物
大学生护理专业自荐信
2013/10/03 职场文书
理财投资建议书
2014/03/12 职场文书
营销部内勤岗位职责
2014/04/30 职场文书
年终奖发放方案
2014/06/02 职场文书
地理科学专业自荐信
2014/09/01 职场文书
15个值得收藏的JavaScript函数
2021/09/15 Javascript
Android studio 简单计算器的编写
2022/05/20 Java/Android