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 定界符格式引起的错误
May 24 PHP
国外PHP程序员的13个好习惯小结
Feb 20 PHP
PHP基于数组实现的分页函数实例
Aug 20 PHP
PHP实现将科学计数法转换为原始数字字符串的方法
Dec 16 PHP
PHP通过微信跳转的Code参数获取用户的openid(关键代码)
Jul 06 PHP
php使用curl详细解析及问题汇总
Aug 11 PHP
PHP不使用内置函数实现字符串转整型的方法示例
Jul 03 PHP
PHP实现获取毫秒时间戳的方法【使用microtime()函数】
Mar 01 PHP
php生成word并下载代码实例
Mar 15 PHP
Laravel框架实现多个视图共享相同数据的方法详解
Jul 09 PHP
使用Git实现Laravel项目的自动化部署
Nov 24 PHP
PHP const定义常量及global定义全局常量实例解析
May 28 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
把77A收信机改造成收音机
2021/03/02 无线电
php类常量的使用详解
2013/06/08 PHP
深入PHP curl参数的详解
2013/06/17 PHP
WordPress中注册菜单与调用菜单的方法详解
2015/12/18 PHP
PHP字典树(Trie树)定义与实现方法示例
2017/10/09 PHP
浅谈Javascript嵌套函数及闭包
2010/11/09 Javascript
动感效果的TAB选项卡jquery 插件
2011/07/09 Javascript
ajax处理php返回json数据的实例代码
2013/01/24 Javascript
使用js如何实现全选与全不选
2013/12/30 Javascript
Zepto实现密码的隐藏/显示
2017/04/07 Javascript
vue.js国际化 vue-i18n插件的使用详解
2017/07/07 Javascript
JavaScript实现旋转轮播图
2020/08/18 Javascript
js利用递归与promise 按顺序请求数据的方法
2019/08/30 Javascript
原生JavaScript之es6中Class的用法分析
2020/02/23 Javascript
React.js组件实现拖拽排序组件功能过程解析
2020/04/27 Javascript
vue+iview使用树形控件的具体使用
2020/11/02 Javascript
[11:12]2018DOTA2国际邀请赛寻真——绿色长城OpTic
2018/08/10 DOTA
Python创建系统目录的方法
2015/03/11 Python
python使用chardet判断字符串编码的方法
2015/03/13 Python
python通过urllib2获取带有中文参数url内容的方法
2015/03/13 Python
Python+django实现文件上传
2016/01/17 Python
不要用强制方法杀掉python线程
2017/02/26 Python
如何通过python的fabric包完成代码上传部署
2019/07/29 Python
python3文件复制、延迟文件复制任务的实现方法
2019/09/02 Python
使用Keras中的ImageDataGenerator进行批次读图方式
2020/06/17 Python
中国排名第一的外贸销售网站:LightInTheBox.com(兰亭集势)
2016/10/28 全球购物
英国领先的亚洲旅游专家:Wendy Wu Tours
2018/01/21 全球购物
罗技英国官方网站:Logitech UK
2020/11/03 全球购物
运动会邀请函范文
2014/02/06 职场文书
创先争优活动方案
2014/02/12 职场文书
《罗布泊,消逝的仙湖》教学反思
2014/03/01 职场文书
捐助倡议书范文
2014/04/15 职场文书
乌镇导游词
2015/02/02 职场文书
应届生求职自荐信范文
2015/03/04 职场文书
Python调用腾讯API实现人脸身份证比对功能
2022/04/04 Python
springboot读取resources下文件的方式详解
2022/06/21 Java/Android