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 相关文章推荐
phpMyAdmin 安装配置方法和问题解决
Jun 08 PHP
需要注意的几个PHP漏洞小结
Feb 05 PHP
php中常用的预定义变量小结
May 09 PHP
PHP中全局变量global和$GLOBALS[]的区别分析
Aug 06 PHP
php比较两个绝对时间的大小
Jan 31 PHP
php实现通过cookie换肤的方法
Jul 13 PHP
PHP 设计模式系列之 specification规格模式
Jan 10 PHP
PHP载入图像imagecreatefrom_gif_jpeg_png系列函数用法分析
Nov 14 PHP
Zend Framework入门教程之Zend_Session会话操作详解
Dec 08 PHP
PHP4和PHP5版本下解析XML文档的操作方法实例分析
May 20 PHP
php简单读取.vcf格式文件的方法示例
Sep 02 PHP
php封装实现钉钉机器人报警接口的示例代码
Aug 08 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扩展ZF――Validate扩展
2008/01/10 PHP
基于PHP的加载类操作以及其他两种魔术方法的应用实例
2017/08/28 PHP
利用php获得flv视频长度的实例代码
2017/10/26 PHP
javascript的函数、创建对象、封装、属性和方法、继承
2011/03/10 Javascript
潜说js对象和数组
2011/05/25 Javascript
利用js读取动态网站从服务器端返回的数据
2014/02/10 Javascript
JavaScript中的变量定义与储存介绍
2014/12/31 Javascript
JavaScript获取页面上被选中文字的方法技巧
2015/03/13 Javascript
JavaScript中匿名函数的递归调用
2017/01/22 Javascript
Vue.js中extend选项和delimiters选项的比较
2017/07/17 Javascript
Node调用Java的示例代码
2017/09/20 Javascript
使用pkg打包Node.js应用的方法步骤
2018/10/19 Javascript
vuex存值与取值的实例
2019/11/06 Javascript
Quasar Input:type=&quot;number&quot; 去掉上下小箭头 实现加减按钮样式功能
2020/04/09 Javascript
VUE实时监听元素距离顶部高度的操作
2020/07/29 Javascript
Python Web框架Flask中使用新浪SAE云存储实例
2015/02/08 Python
用python做一个搜索引擎(Pylucene)的实例代码
2017/07/05 Python
python 删除大文件中的某一行(最有效率的方法)
2017/08/19 Python
Python中的defaultdict与__missing__()使用介绍
2018/02/03 Python
Jupyter notebook远程访问服务器的方法
2018/05/24 Python
python爬虫之快速对js内容进行破解
2019/07/09 Python
python-tornado的接口用swagger进行包装的实例
2019/08/29 Python
TensorFlow tensor的拼接实例
2020/01/19 Python
详解python itertools功能
2020/02/07 Python
使用Python三角函数公式计算三角形的夹角案例
2020/04/15 Python
python 字符串的驻留机制及优缺点
2020/06/19 Python
python制作一个简单的gui 数据库查询界面
2020/11/19 Python
基于CSS3制作立体效果导航菜单
2016/01/12 HTML / CSS
html5+css3之制作header实例与更新
2020/12/21 HTML / CSS
html5 touch事件实现页面上下滑动效果【附代码】
2016/03/10 HTML / CSS
html5触摸事件判断滑动方向的实现
2018/06/05 HTML / CSS
爱尔兰电脑、家电和家具购物网站:Buy It Direct
2019/07/09 全球购物
兽医医药专业求职信
2014/07/27 职场文书
电子商务专业求职信范文
2015/03/19 职场文书
付款证明格式范文
2015/06/19 职场文书
趣味运动会赞词
2015/07/22 职场文书