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个人网站架设连环讲(二)
Oct 09 PHP
php提示undefined index的几种解决方法
May 21 PHP
php遍历文件夹和文件列表示例分享
Mar 11 PHP
关于php支持分块与断点续传文件下载功能代码
May 09 PHP
PHP中怎样防止SQL注入分析
Oct 23 PHP
php实现将任意进制数转换成10进制的方法
Apr 17 PHP
如何解决PHP无法实现多线程的问题
Sep 25 PHP
PHP中Closure类的使用方法及详解
Oct 09 PHP
PHP编写RESTful接口
Feb 23 PHP
php解决DOM乱码的方法示例代码
Nov 20 PHP
php使用str_replace替换多维数组的实现方法分析
Jun 15 PHP
PHP+mysql防止SQL注入的方法小结
Apr 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 移除数组重复元素的一点说明
2008/11/27 PHP
header中Content-Disposition的作用与使用方法
2012/06/13 PHP
跟我学Laravel之请求与输入
2014/10/15 PHP
从性能方面考虑PHP下载远程文件的3种方法
2015/12/29 PHP
PHP策略模式定义与用法示例
2017/07/27 PHP
详解php协程知识点
2018/09/21 PHP
laravel框架实现敏感词汇过滤功能示例
2020/02/15 PHP
javascript 使td内容不换行不撑开
2012/11/29 Javascript
jquery ajax jsonp跨域调用实例代码
2013/12/11 Javascript
document.execCommand()的用法小结
2014/01/08 Javascript
javascript监听鼠标滚轮事件浅析
2014/06/05 Javascript
NodeJs的优势和适合开发的程序
2016/08/14 NodeJs
AngularJS实现动态编译添加到dom中的方法
2016/11/04 Javascript
require.js 加载过程与使用方法介绍
2018/10/30 Javascript
微信小程序实现展示评分结果功能
2019/02/15 Javascript
基于vue实现web端超大数据量表格的卡顿解决
2019/04/02 Javascript
vue中实现点击按钮滚动到页面对应位置的方法(使用c3平滑属性实现)
2019/12/29 Javascript
JS实现吸顶特效
2020/01/08 Javascript
JavaScript创建表格的方法
2020/04/13 Javascript
[03:04]DOTA2超级联赛专访ZSMJ “莫名其妙”的逆袭
2013/05/23 DOTA
python脚本替换指定行实现步骤
2017/07/11 Python
python 对txt中每行内容进行批量替换的方法
2018/07/11 Python
Python中函数参数调用方式分析
2018/08/09 Python
python 如何调用 dubbo 接口
2020/09/24 Python
python 爬取免费简历模板网站的示例
2020/09/27 Python
C#中有没有运算符重载?能否使用指针?
2014/05/05 面试题
四年大学自我鉴定
2014/02/17 职场文书
捐款倡议书怎么写
2014/05/13 职场文书
小学“向国旗敬礼”网上签名寄语活动总结
2014/09/27 职场文书
感谢信的格式
2015/01/21 职场文书
员工辞职信范文大全
2015/05/12 职场文书
2015年学校减负工作总结
2015/05/19 职场文书
公司开业的祝贺语大全(60条)
2019/07/05 职场文书
2021好看的国漫排行榜前十名 《完美世界》上榜,《元龙》排名第一
2022/03/18 国漫
Python绘制散乱的点构成的图的方法
2022/04/21 Python
MySQL 字符集 character
2022/05/04 MySQL