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 服务器 CMS SQL jQuery C# C++ java Android IOS oracle MongoDB PostgreSQL SQLite 交通频道 罗源客运西站 罗川南路
永平汽车站 江西省上饶市铅山县
鸡泽县汽车站 河北省邯郸市鸡泽县
岳池宏盛汽车客运站经营 四川省广安市岳池县
绥宁红岩汽车站 湖南省邵阳市绥宁县
平远客运站 云南省文山壮族苗族自治州砚山县
淮安城南汽车客运站 淮海南路
永福汽车总站 永兴大道
金堂淮口客运站 四川省成都市金堂县
贵金客运中心 四川省宜宾市江安县
董忠长途车站 江苏省宿迁市宿城区
大河客运站 四川省宜宾市兴文县
桂林琴潭汽车客运站 广西壮族自治区桂林市象山区
常营汽车站 河南省周口市太康县
肥乡汽车站 河北省邯郸市肥乡县
林口客运站 贵州省毕节地区毕节市
卢龙刘田庄客运站 河北省秦皇岛市卢龙县
诚东客运站 黑龙江省鸡西市虎林市
岳阳公田客运站 湖南省岳阳市岳阳县
利川市客运站 湖北省恩施土家族苗族自治州利川市
龙潭汽车站 重庆市
交河西客运站 交河农行对面
新邵汽车站 湖南省邵阳市新邵县
常熟长途汽车客运站南站到达厅 江苏省苏州市常熟市
麦当劳付家坡汽车客运站餐厅 武珞路358
民乐汽车站 甘肃省张掖市民乐县
港区客运站 江苏省苏州市太仓市
仪陇土门客运汽车站 四川省南充市仪陇县
长滩客运站 四川省广安市邻水县
金沙长途汽车站 青羊区清江中路50号
石潭客运站 陕西省咸阳市礼泉县
博山客运站 山东省淄博市博山区
夏坊客运站 福建省三明市明溪县
福州汽车北站候车厅 华林路371号
崇义龙勾汽车站 江西省赣州市崇义县
八面城客运站 辽宁省铁岭市昌图县
市北村客运站 江苏省苏州市昆山市
客运站快餐厅 天津市
客运站出口 成都市昭青路附近
泉州汽车站候车厅 福建省泉州市丰泽区
阳光琴行汽车站店 四川省德阳市旌阳区
罗源汽车站 凤南西路2
客运汽车中心汽车进站口 四川省内江市资中县
梧村长途汽车站 火车站对面中闽百货楼上
旧口车站 湖北省荆门市钟祥市
达县北山乡汽车客运站 四川省达州市达县
常德黄土店客村客运站 湖南省常德市鼎城区
环江汽车总站 广西壮族自治区河池市环江毛南族自治县
无锡汽车站 江苏省无锡市崇安区
梓潼许州客运站 四川省绵阳市梓潼县
旧馆客运站 浙江省湖州市南浔区
华隆超市汽车东站店 广西壮族自治区贵港市港北区
寿县汽车站售票厅 安徽省六安市寿县
高堰乡客运站 四川省绵阳市三台县
郑州交运集团客运一公司 河南省郑州市二七区
临安昌化长途客运中心 唐昌街63号
蚌埠汽车客运北站 一零一省道
三家店客运站 河南省漯河市临颍县
安民客运站 辽宁省铁岭市西丰县
舜帝镇客运站 湖南省永州市宁远县
望都汽车站 一零七国道
格林豪泰酒店(汽车总站快捷店) 天桥区无影山路32号(近汽车厂西路)公交/驾车
临沂汽车总站售票处 山东省临沂市兰山区
东兴马路汽车站 二零一二三省道
常德五运汽车站 湖南省常德市鼎城区
萧县酒店农村客运站 安徽省宿州市萧县
西湾车站 城新线
深圳坪山客运站 东纵路313号
龙山客运站 山东省青岛市即墨市
东圃汽车客运站办公室 广东省广州市天河区
万全车站 一零四国道
村山生态园客运站 江苏省苏州市虎丘区
邓州九龙乡客运站 河南省南阳市邓州市
蓬安龙蚕客运站 四川省南充市蓬安县
陈家坪汽车站 九龙坡陈家坪小学旁
金顺客运站 广东省潮州市饶平县
樟树车站 湖南省郴州市永兴县
西安三府湾客运站 长缨西路353号
青冈中和客运站 黑龙江省绥化市青冈县
蓬莱客运站 山东省烟台市蓬莱市
东南开发区客运站 江苏省苏州市常熟市
周口沙北汽车站 河南省周口市川汇区
长兴客运站 四川省宜宾市南溪县
云县茂兰客运站 云南省临沧市云县
安吉鄣吴汽车站 浙江省湖州市安吉县
营山县回龙汽车客运站 四川省南充市营山县
慈溪站 环城南路433号
三明汽车站 福建省三明市梅列区
绵阳科学城七区客运站 四川省绵阳市游仙区
高坪客运站 湖北省恩施土家族苗族自治州建始县
黄桑农村客运站 湖南省怀化市麻阳苗族自治县
安居客运站 重庆市
莆田天九湾客运站 天妃路
张八岭客运站 安徽省滁州市明光市
平阳长运客运中心 新河南路151~153号
九街客运站 河南省漯河市舞阳县
汝城汽车站东莞深圳线货物托运处 湖南省郴州市汝城县
榆树大于客运站 吉林省长春市榆树市
青年路汽车站旅游集散中心 山东省烟台市芝罘区
遂昌县北界客运中心 妙高镇南溪路35号

Copyright © 2016 phpStudy |