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 相关文章推荐
二十行语句实现从Excel到mysql的转化
Oct 09 PHP
php 安全过滤函数代码
May 07 PHP
PHP 异步执行方法,模拟多线程的应用分析
Jun 03 PHP
PHP中time(),date(),mktime()区别介绍
Sep 28 PHP
php生成随机密码自定义函数代码(简单快速)
May 10 PHP
PHP中的插件机制原理和实例
Jul 08 PHP
PHP自动重命名文件实现方法
Nov 04 PHP
PHP上传Excel文件导入数据到MySQL数据库示例
Oct 25 PHP
PHP simplexml_load_file()函数讲解
Feb 03 PHP
详解PHP队列的实现
Mar 14 PHP
Thinkphp5 自定义上传文件名的实现方法
Jul 23 PHP
解决laravel中日志权限莫名变成了root的问题
Oct 17 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
PHP3 safe_mode 失效漏洞
2006/10/09 PHP
使用php发送有附件的电子邮件-(PHPMailer使用的实例分析)
2013/04/26 PHP
推荐25款php中非常有用的类库
2014/09/29 PHP
Laravel中的Blade模板引擎示例详解
2017/10/10 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
基于jsTree的无限级树JSON数据的转换代码
2010/07/27 Javascript
javascript强大的日期函数代码分享
2013/09/04 Javascript
AngularJS中的过滤器使用详解
2015/06/16 Javascript
js如何判断输入字符串长度
2015/12/16 Javascript
AngularJS入门之动画
2016/07/27 Javascript
Vue响应式添加、修改数组和对象的值
2017/03/20 Javascript
JavaScript反弹动画效果的实现代码
2017/07/13 Javascript
详解Vue-axios 设置请求头问题
2018/12/06 Javascript
JS实现换肤功能的方法实例详解
2019/01/30 Javascript
判断文字超过2行添加展开按钮,未超过则不显示,溢出部分显示省略号
2019/04/28 Javascript
Angular.JS读取数据库数据调用完整实例
2019/07/02 Javascript
使用typescript改造koa开发框架的实现
2020/02/04 Javascript
python 打印对象的所有属性值的方法
2016/09/11 Python
python实现list元素按关键字相加减的方法示例
2017/06/09 Python
pandas or sql计算前后两行数据间的增值方法
2018/04/20 Python
python 读取txt中每行数据,并且保存到excel中的实例
2018/04/29 Python
python实现趣味图片字符化
2019/04/30 Python
用uWSGI和Nginx部署Flask项目的方法示例
2019/05/05 Python
用python中的matplotlib绘制方程图像代码
2019/11/21 Python
python中p-value的实现方式
2019/12/16 Python
Python和Sublime整合过程图示
2019/12/25 Python
python 使用OpenCV进行简单的人像分割与合成
2021/02/02 Python
使用html2canvas将页面转成图并使用用canvas2image下载
2019/04/04 HTML / CSS
京东港澳售:京东直邮港澳台
2018/01/31 全球购物
现代家居用品及礼品:LBC Modern
2018/06/24 全球购物
餐饮服务食品安全责任书
2014/07/25 职场文书
培训科主任岗位职责
2014/08/08 职场文书
教师学习八项规定六项禁令思想汇报
2014/09/27 职场文书
python使用XPath解析数据爬取起点小说网数据
2021/04/22 Python
使用pycharm运行flask应用程序的详细教程
2021/06/07 Python
阿里面试Nacos配置中心交互模型是push还是pull原理解析
2022/07/23 Java/Android