PHP批量生成静态HTML的简单原理和方法


现在的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文件,嵌入进来就行了。



这里介绍的是批量重新生成,其实还有在填加新闻时就生成HTML文件,编辑文章内容时生成HTML文件,其实原理上都差不多,我会写下来,可以做个参考。



相关阅读:
Win10最新预览版怎么还原以前Win7或Win8?
MySQL数学函数简明总结
MySQL页面访问统计及排名情况
JavaScript实现随机替换图片的方法
iOS应用中发送HTTP的get请求以及HTTP异步请求的方法
mysql动态游标学习(mysql存储过程游标)
Win8.1如何关闭动态磁贴让耳朵清静下
win7 64位系统提示"Windows7不能识别网络打印机"的故障原因及解决方法
C#判断某程序是否运行的方法
Win10/Win8.1原生支持FFmpeg:视频格式通吃
jQuery事件绑定on()与弹窗实现代码
C#中事件的继承实例分析
基于HTML+CSS+JS实现增加删除修改tab导航特效代码
JavaScript实现带播放列表的音乐播放器实例分享
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 沂水-淮北 大石桥-兴城 葫芦岛北-南京 绥中-郓城 驻马店西-鹿寨北 宣威-灵石 富裕-大民屯 北宅-闹海营 海宁西-丽水 孤山子-八仙筒 漳州-光山 韶关东-随州 贵阳-万源 渑池-杨陵 宜兴-湘潭北 本溪-海城 南昌-武夷山 祁县-兴城 小南海-隆昌 兖州-安仁 余粮堡-集宁南 宝鸡-绍兴 拉古-阿城 辽阳-渑池 兰考-平安驿 柳园-安康 兴义-义乌 磐石-敦化 红山-西林 杏树-桦林 永康-广州 甘谷-许昌 盘锦-偃师 泰来-达拉滨 水地-山湾子 营山-深圳西 义乌-东光 德兴-新余北 正镶白旗-呼和浩特 松桃-成都 甘谷-牙屯堡 邵阳-清远 娄底-昭通 苏家屯-南芬 涞源-灵石 邓州-长沙 晋州-阳泉北 巨野-曹县 陇西-兰州东 杨陵-武山 乌奴耳-昌图 小儿坪-盐津 瑞金-长汀南 后寨-南陈铺 长春-芦台 十堰-郑州 涡阳-汉口 罕达盖-温根托海 旌德-上饶 榆林-大板 北京-熊岳城 杨树岭-锦州 山海关-永康南 衡水-沈阳北 大庆东-哈尔滨东 加格达奇-阿木尔 三门峡西-金昌 齐齐哈尔-查布嘎 南昌-井冈山 那曲-太原 咸宁-桃村 向塘-德安 大庆西-苏州 集宁南-乐都 昆山-泰山 无锡东-邯郸东 大营镇-汝州 天津西-福州 临颍-赤壁 双凤驿-峰高铺 郴州有去洛阳的列车火车吗
从北京到西宁坐火车大概需要多长时间
一列匀速前进的火车列车,从它进入320米长的隧道到完全通过隧道经
南宁目前双层公车是几路起点站是那里
求银川到江苏扬州的详细路书知道的大侠高诉下
从九峰山森林公园到武汉生物工程学院怎么坐车最好
长沙邮寄到永州冷水滩需要几天时间
正兴集团廊坊车轮有限公司
湖南省汨罗市到重庆省天水市最近的距离
现在从合肥的汽车站坐车车怎么到九西江南?
从长沙火车列车站到湖南中医药大学怎么走要乘哪些路公交到那里
广州到上海汽车票、火车列车票、机票现在价格是多少
2010年8月1日能从丽江出发去雨崩吗?
K889次列车火车西安到西宁的中卧是多少钱
如何预定西昌到丽江的汽车票
问下 从呼和浩特的中信银行转账到天津的农业银行得多少小时。
宁城去大庆的路线怎么坐车,多少公里
请问从柳州到泉州距离多少公里
复读了一年提高了20分,比本科线高7分,但补录到了襄樊学院理
求北京各个列车站到大兴区芦城创新路2号的方法
葫芦岛到天津怎么坐车2010自驾
大石桥到沈阳站火车列车票价
有没有河南宁陵县到武汉的汽车啊需要多长时间
去蓬莱的长岛农家乐,如何安排
颐和园在哪里?
苏州到唐山火车价格谢谢
杭州火车城站杭州到绍兴17点至19点的火车时刻表
连云港到广州有多远
想知道: 重庆市 从重庆市到奉节县怎么坐公交
金华西到临海的客车汽车都是什么时候开车啊?

Copyright © 2016 phpStudy |