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关于array_multisort多维数组排序的使用说明
Jan 04 PHP
PHP中集成PayPal标准支付的实现方法分享
Feb 06 PHP
PHP的5个安全措施小结
Jul 17 PHP
php抓取网站图片并保存的实现方法
Oct 29 PHP
Laravel SQL语句记录方式(推荐)
May 26 PHP
PHP模块化安装教程
Jun 01 PHP
使用php实现网站验证码功能【推荐】
Feb 09 PHP
Yii 2.0自带的验证码使用经验分享
Jun 19 PHP
实例讲解YII2中多表关联的使用方法
Jul 21 PHP
thinkPHP5框架设置404、403等http状态页面的方法
Jun 05 PHP
yii2的restful api路由实例详解
May 14 PHP
laravel框架模型、视图与控制器简单操作示例
Oct 10 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/04/24 PHP
Drupal简体中文语言包安装教程
2014/09/27 PHP
php返回json数据函数实例
2014/10/09 PHP
Codeigniter通过SimpleXML将xml转换成对象的方法
2015/03/19 PHP
JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结
2010/04/13 Javascript
JS判断对象是否存在的10种方法总结
2013/12/23 Javascript
JS+JSP checkBox 全选具体实现
2014/01/02 Javascript
form表单action提交的js部分与html部分
2014/01/07 Javascript
Javascript单元测试框架QUnitjs详细介绍
2014/05/08 Javascript
jquery增加和删除元素的方法
2015/01/14 Javascript
又一枚精彩的弹幕效果jQuery实现
2016/07/25 Javascript
jquery-mobile基础属性与用法详解
2016/11/23 Javascript
理解javascript中的闭包
2017/01/11 Javascript
ES6新数据结构Map功能与用法示例
2017/03/31 Javascript
微信小程序实战之顶部导航栏(选项卡)(1)
2020/06/19 Javascript
详解webpack 多入口配置
2017/06/16 Javascript
快速将Vue项目升级到webpack3的方法步骤
2017/09/14 Javascript
小程序自定义组件实现城市选择功能
2018/07/18 Javascript
JavaScript引用类型Object常见用法实例分析
2018/08/08 Javascript
微信小程序自定义tabbar custom-tab-bar 6s出不来解决方案(cover-view不兼容)
2019/11/01 Javascript
vue父子组件间引用之$parent、$children
2020/05/20 Javascript
javascript canvas时钟模拟器
2020/07/13 Javascript
Python升级提示Tkinter模块找不到的解决方法
2014/08/22 Python
python字符串连接的N种方式总结
2014/09/17 Python
Python实现把回车符\r\n转换成\n
2015/04/23 Python
Python文件操作之合并文本文件内容示例代码
2017/09/19 Python
PyQt5实现QLineEdit添加clicked信号的方法
2019/06/25 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
Python定时发送天气预报邮件代码实例
2019/09/09 Python
python中数据库like模糊查询方式
2020/03/02 Python
Python爬虫抓取指定网页图片代码实例
2020/07/24 Python
英国家庭家具、照明和花园家具购物网站:Furniture123
2018/12/31 全球购物
ZWILLING双立人法国网上商店:德国刀具锅具厨具品牌
2019/08/28 全球购物
什么是命名空间(NameSpace)
2015/11/24 面试题
校三好学生主要事迹
2014/01/11 职场文书
分析mysql中一条SQL查询语句是如何执行的
2021/06/21 MySQL