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 相关文章推荐
php4的session功能评述(三)
Oct 09 PHP
PHP字符编码问题之GB2312 VS UTF-8解决方法
Jun 23 PHP
php获取数组长度的方法(有实例)
Oct 27 PHP
THINKPHP项目开发中的日志记录实例分析
Dec 01 PHP
php计算两个文件相对路径的方法
Mar 14 PHP
php基于Snoopy解析网页html的方法
Jul 09 PHP
学习php设计模式 php实现门面模式(Facade)
Dec 07 PHP
php实现倒计时效果
Dec 19 PHP
Yii框架上传图片用法总结
Mar 28 PHP
PHP验证码无法显示的原因及解决办法
Aug 11 PHP
Thinkphp5行为使用方法汇总
Dec 21 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
Feb 19 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
迅雷下载《中学科技》怀旧期刊下载
2021/02/27 无线电
php防止用户重复提交表单
2015/11/02 PHP
[原创]smarty简单模板变量输出方法
2016/07/09 PHP
PHP微信API接口类
2016/08/22 PHP
PHP实现的网站目录扫描索引工具
2016/09/08 PHP
PHP开启目录引索+fancyindex漂亮目录浏览带搜索功能
2019/09/23 PHP
基于jquery的用鼠标画出可移动的div
2012/09/06 Javascript
js图片自动切换效果处理代码
2013/05/07 Javascript
jquery使用淘宝接口跨域查询手机号码归属地实例
2013/11/28 Javascript
JS中的log对象获取以及debug的写法介绍
2014/03/03 Javascript
php实例分享之实现显示网站运行时间
2014/05/20 Javascript
js实现正则匹配中文标点符号的方法
2015/12/23 Javascript
jQuery插件Validate实现自定义表单验证
2016/01/18 Javascript
学习使用bootstrap基本控件(table、form、button)
2016/04/12 Javascript
基于Bootstrap的UI扩展 StyleBootstrap
2016/06/17 Javascript
Javascript封装id、class与元素选择器方法示例
2017/03/13 Javascript
实现微信小程序的wxml文件和wxss文件在webstrom的支持
2017/06/12 Javascript
express+mockjs实现模拟后台数据发送功能
2018/01/07 Javascript
详解react-redux插件入门
2018/04/19 Javascript
JAVA面试题 static关键字详解
2019/07/16 Javascript
uni-app微信小程序登录授权的实现
2020/05/22 Javascript
python 函数传参之传值还是传引用的分析
2017/09/07 Python
pandas groupby 分组取每组的前几行记录方法
2018/04/20 Python
对Python闭包与延迟绑定的方法详解
2019/01/07 Python
python高阶函数map()和reduce()实例解析
2020/03/16 Python
Python grequests模块使用场景及代码实例
2020/08/10 Python
输入N,打印N*N矩阵
2012/02/20 面试题
小小商店教学反思
2014/04/27 职场文书
学前教育专业求职信
2014/09/02 职场文书
教师遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
社区党的群众路线教育实践活动总结材料
2014/10/31 职场文书
2014年妇产科工作总结
2014/12/08 职场文书
综合实践活动报告
2015/02/05 职场文书
辞职信的写法
2015/02/27 职场文书
感恩教师节主题班会
2015/08/12 职场文书
详解nodejs内置模块
2021/05/06 NodeJs