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的分页功能
Mar 21 PHP
PHP获取网卡地址的代码
Apr 09 PHP
php设计模式 Visitor 访问者模式
Jun 28 PHP
linux下使用ThinkPHP需要注意大小写导致的问题
Aug 02 PHP
php的array_multisort()使用方法介绍
May 16 PHP
destoon安装出现Internal Server Error的解决方法
Jun 21 PHP
php版本的cron定时任务执行器使用实例
Aug 19 PHP
php实现模拟登陆方正教务系统抓取课表
May 19 PHP
详解WordPress中简码格式标签编写的基本方法
Dec 22 PHP
php实现的一段简单概率相关代码
May 30 PHP
让whoops帮我们告别ThinkPHP6的异常页面
Mar 02 PHP
laravel框架路由分组,中间件,命名空间,子域名,路由前缀实例分析
Feb 18 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
Yii框架实现图片上传的方法详解
2017/05/20 PHP
php表单处理操作
2017/11/16 PHP
基于Laravel(5.4版本)的基本增删改查操作方法
2019/10/11 PHP
thinkPHP框架乐观锁和悲观锁实例分析
2019/10/30 PHP
javascript DOM编程实例(智播客学习)
2009/11/23 Javascript
解决Extjs上传图片无法预览的解决方法
2012/03/22 Javascript
JS实现日期加减的方法
2013/11/29 Javascript
javascript的alert box在java中如何显示多行
2014/05/18 Javascript
AngularJs expression详解及简单示例
2016/09/01 Javascript
vue项目中做编辑功能传递数据时遇到问题的解决方法
2016/12/19 Javascript
javascript表达式和运算符详解
2017/02/07 Javascript
JavaScript模拟实现封装的三种方式及写法区别
2017/10/27 Javascript
vue自定义底部导航栏Tabbar的实现代码
2018/09/03 Javascript
基于vue.js组件实现分页效果
2018/12/29 Javascript
解决vue elementUI中table里数字、字母、中文混合排序问题
2020/01/07 Javascript
Javascript中的奇葩知识,你知道吗?
2021/01/25 Javascript
python getopt详解及简单实例
2016/12/30 Python
老生常谈Python之装饰器、迭代器和生成器
2017/07/26 Python
一文带你了解Python中的字符串是什么
2018/11/20 Python
python获取地震信息 微信实时推送
2019/06/18 Python
对Pytorch中Tensor的各种池化操作解析
2020/01/03 Python
python GUI库图形界面开发之PyQt5打开保存对话框QFileDialog详细使用方法与实例
2020/02/27 Python
Windows10+anacond+GPU+pytorch安装详细过程
2020/03/24 Python
Python数据库封装实现代码示例解析
2020/09/05 Python
python 调整图片亮度的示例
2020/12/03 Python
python pillow库的基础使用教程
2021/01/13 Python
生日寿宴答谢词
2014/01/19 职场文书
介绍信如何写
2015/01/31 职场文书
2015年学生会个人工作总结
2015/04/09 职场文书
上课迟到检讨书
2015/05/06 职场文书
2015年暑期见闻
2015/07/14 职场文书
趣味运动会赞词
2015/07/22 职场文书
六五普法学习心得体会
2016/01/21 职场文书
各种货币符号快捷输入
2022/02/17 杂记
Python Matplotlib绘制等高线图与渐变色扇形图
2022/04/14 Python
JavaScript实现简单的音乐播放器
2022/08/14 Javascript