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迅雷、快车、旋风下载专用链转换代码
Jun 15 PHP
php自定义函数之递归删除文件及目录
Aug 08 PHP
php通过asort()给关联数组按照值排序的方法
Mar 18 PHP
php使用gettimeofday函数返回当前时间并存放在关联数组里
Mar 19 PHP
浅析iis7.5安装配置php环境
May 10 PHP
php提取身份证号码中的生日日期以及验证是否为成年人的函数
Sep 29 PHP
Smarty模板引擎缓存机制详解
May 23 PHP
PHP二维数组矩形转置实例
Jul 20 PHP
php+javascript实现的动态显示服务器运行程序进度条功能示例
Aug 07 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
Nov 17 PHP
PHP实现普通hash分布式算法简单示例
Aug 06 PHP
PHP iconv()函数字符编码转换的问题讲解
Mar 22 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 获取SWF动画截图示例代码
2014/02/10 PHP
PHP实现从远程下载文件的方法
2015/03/12 PHP
Windows下编译PHP5.4和xdebug全记录
2015/04/03 PHP
Smarty最简单实现列表奇偶变色的方法
2015/07/01 PHP
Yii2 中实现单点登录的方法
2018/03/09 PHP
PHP receiveMail实现收邮件功能
2018/04/25 PHP
PHP实现一维数组与二维数组去重功能示例
2018/05/24 PHP
脚本吧 - 幻宇工作室用到js,超强推荐base.js
2006/12/23 Javascript
Javascript 日期处理之时区问题
2009/10/08 Javascript
js constructor的实际作用分析
2011/11/15 Javascript
JavaScript实现快速排序(自已编写)
2012/12/19 Javascript
关于js遍历表格的实例
2013/07/10 Javascript
详解Angularjs filter过滤器
2016/02/06 Javascript
微信小程序通过api接口将json数据展现到小程序示例
2017/01/20 Javascript
jQuery实现动态生成表格并为行绑定单击变色动作的方法
2017/04/17 jQuery
react中Suspense的使用详解
2019/09/01 Javascript
js实现图片上传即时显示效果
2019/09/30 Javascript
[58:29]DOTA2-DPC中国联赛 正赛 Phoenix vs XG BO3 第一场 1月31日
2021/03/11 DOTA
使用Python进行稳定可靠的文件操作详解
2013/12/31 Python
Python2.x中str与unicode相关问题的解决方法
2015/03/30 Python
Python模块搜索概念介绍及模块安装方法介绍
2015/06/03 Python
win10环境下python3.5安装步骤图文教程
2017/02/03 Python
sublime python3 输入换行不结束的方法
2018/04/19 Python
Python实现 版本号对比功能的实例代码
2019/04/18 Python
使用OpenCV获取图片连通域数量,并用不同颜色标记函
2020/06/04 Python
python virtualenv虚拟环境配置与使用教程详解
2020/07/13 Python
Python切片列表字符串如何实现切换
2020/08/06 Python
size?爱尔兰官方网站:英国伦敦的球鞋精品店
2019/03/31 全球购物
培训主管的职业生涯规划
2014/03/06 职场文书
求职信模板
2014/05/23 职场文书
试用期自我评价怎么写
2015/03/10 职场文书
教你怎么用python爬取爱奇艺热门电影
2021/05/20 Python
Nginx配置Https安全认证的实现
2021/05/26 Servers
MySQL深度分页(千万级数据量如何快速分页)
2021/07/25 MySQL
vue实现移动端div拖动效果
2022/03/03 Vue.js
Python 绘制多因子柱状图
2022/05/11 Python