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(视频)Http下载
Dec 12 PHP
linux php mysql数据库备份实现代码
Mar 10 PHP
PHP mb_convert_encoding 获取字符串编码类型实现代码
Apr 26 PHP
php中使用exec,system等函数调用系统命令的方法(不建议使用,可导致安全问题)
Sep 07 PHP
php的数组与字符串的转换函数整理汇总
Jul 18 PHP
php的sprintf函数的用法 控制浮点数格式
Feb 14 PHP
Yii2使用自带的UploadedFile实现的文件上传
Jun 20 PHP
浅析php中array_map和array_walk的使用对比
Nov 20 PHP
php_pdo 预处理语句详解
Nov 21 PHP
PHP封装的XML简单操作类完整实例
Nov 13 PHP
win10 apache配置虚拟主机后localhost无法使用的解决方法
Jan 27 PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 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
浅谈apache和nginx的rewrite的区别
2013/02/22 PHP
PHP使用imagick读取PDF生成png缩略图的两种方法
2014/03/20 PHP
php邮件发送的两种方式
2020/04/28 PHP
PHP函数shuffle()取数组若干个随机元素的方法分析
2016/04/02 PHP
php array_pop 删除数组最后一个元素实例
2016/11/02 PHP
javascript 内存回收机制理解
2011/01/17 Javascript
Prototype源码浅析 String部分(一)之有关indexOf优化
2012/01/15 Javascript
AngularJS基础学习笔记之简单介绍
2015/05/10 Javascript
使用jQuery给input标签设置默认值
2016/06/20 Javascript
后端接收不到AngularJs中$http.post发送的数据原因分析及解决办法
2016/07/05 Javascript
Js遍历键值对形式对象或Map形式的方法
2016/08/08 Javascript
Angular ng-repeat指令实例以及扩展部分
2016/12/26 Javascript
前端编码规范(3)JavaScript 开发规范
2017/01/21 Javascript
AngularJS监听路由变化的方法
2017/03/07 Javascript
AngularJS+bootstrap实现动态选择商品功能示例
2017/05/17 Javascript
vue2.0 常用的 UI 库实例讲解
2017/12/12 Javascript
解决vue移动端适配问题
2018/12/12 Javascript
微信小程序实现bindtap等事件传参
2019/04/08 Javascript
JavaScript事件冒泡机制原理实例解析
2020/01/14 Javascript
Vue两个版本的区别和使用方法(更深层次了解)
2020/02/16 Javascript
使用Python爬取最好大学网大学排名
2018/02/24 Python
Python写捕鱼达人的游戏实现
2020/03/31 Python
Python稀疏矩阵及参数保存代码实现
2020/04/18 Python
基于Python+QT的gui程序开发实现
2020/07/03 Python
Python中的None与 NULL(即空字符)的区别详解
2020/09/24 Python
Spartoo英国:欧洲最大的网上鞋店
2016/09/13 全球购物
PPP协议组成及简述协议协商的基本过程
2015/05/28 面试题
车队司机自我鉴定
2014/03/02 职场文书
中华美德颂演讲稿
2014/05/20 职场文书
中文专业毕业生自荐信
2014/05/24 职场文书
小学生常见病防治方案
2014/06/06 职场文书
教师工作总结范文2014
2014/11/10 职场文书
运动会闭幕式通讯稿
2015/07/18 职场文书
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
2021/05/31 Python
Spring Cloud 中@FeignClient注解中的contextId属性详解
2021/09/25 Java/Android
python脚本框架webpy模板控制结构
2021/11/20 Python