PHP将整个网站生成HTML纯静态网页的方法总结


Posted in PHP onFebruary 05, 2012
<?php 
//在你的开始处加入 ob_start(); 
ob_start(); //以下是你的代码 
//在结尾加入 ob_end_clean(),并把本页输出到一个变量中 
$temp = ob_get_contents(); 
ob_end_clean(); 
//写入文件 
$fp = fopen(‘文件名','w'); 
fwrite($fp,$temp) or die(‘写文件错误'); 
?>

这只是最基本的方法,还不是很实用,因为网站是要更新的,要定期重新生成HTML

下面是我用的方法:

if(file_exists(“xxx.html”)) 
{ 
$time = time(); //文件修改时间和现在时间相差半小时一下的话,直接导向html文件,否则重新生成html 
if($time - filemtime(“xxx.html”) < 30*60) 
{ 
header(“Location:xxx.html”); 
} 
} 
//在你的开始处加入 ob_start(); 
ob_start(); 
//页面的详细内容 
//在结尾加入 ob_end_clean(),并把本页输出到一个变量中 
$temp = ob_get_contents(); 
ob_end_clean(); 
//写入文件 
$fp = fopen(‘xxx.html','w'); 
fwrite($fp,$temp) or die(‘写文件错误'); 
//重新导向 
header(“Location:xxx.html”);

下面是一些用到的函数的介绍:
1、Flush:刷新缓冲区的内容,输出。
函数格式:flush()
说明:这个函数经常使用,效率很高。

2、ob_start :打开输出缓冲区
函数格式:void ob_start(void)
说明:当缓冲区激活时,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区。为了输出缓冲区的内容,可以使用ob_end_flush()或flush()输出缓冲区的内容。
3 、ob_get_contents :返回内部缓冲区的内容。
使用方法:string ob_get_contents(void)
说明:这个函数会返回当前缓冲区中的内容,如果输出缓冲区没有激活,则返回 FALSE 。
4、ob_get_length:返回内部缓冲区的长度。
使用方法:int ob_get_length(void)
说明:这个函数会返回当前缓冲区中的长度;和ob_get_contents一样,如果输出缓冲区没有激活。则返回 FALSE。
5、ob_end_flush :发送内部缓冲区的内容到浏览器,并且关闭输出缓冲区。
使用方法:void ob_end_flush(void)
说明:这个函数发送输出缓冲区的内容(如果有的话)。
6、ob_end_clean:删除内部缓冲区的内容,并且关闭内部缓冲区
使用方法:void ob_end_clean(void)
说明:这个函数不会输出内部缓冲区的内容而是把它删除!
7、ob_implicit_flush:打开或关闭绝对刷新
使用方法:void ob_implicit_flush ([int flag])
说明:使用过Perl的人都知道$|=x的意义,这个字符串可以打开/关闭缓冲区,而ob_implicit_flush函数也和那个一样,默认为关闭缓冲区,打开绝对输出后,每个脚本输出都直接发送到浏览器,不再需要调用 flush().

PHP 相关文章推荐
配置支持SSI
Nov 25 PHP
php设计模式 Composite (组合模式)
Jun 26 PHP
利用中国天气预报接口实现简单天气预报
Jan 20 PHP
php+ajax实现无刷新分页的方法
Nov 04 PHP
php发送html格式文本邮件的方法
Jun 10 PHP
基础的WordPress插件制作教程
Nov 24 PHP
学习php设计模式 php实现门面模式(Facade)
Dec 07 PHP
PHP根据session与cookie用户登录状态操作类的代码
May 13 PHP
对比PHP对MySQL的缓冲查询和无缓冲查询
Jul 01 PHP
ZendFramework框架实现连接两个或多个数据库的方法
Dec 08 PHP
PHP数字金额转换成中文大写显示
Jan 05 PHP
Laravel的加密解密与哈希实例讲解
Mar 24 PHP
php 搜索框提示(自动完成)实例代码
Feb 05 #PHP
PHP持久连接mysql_pconnect()函数使用介绍
Feb 05 #PHP
PHP测试程序运行时间的类
Feb 05 #PHP
PHP设计模式 注册表模式
Feb 05 #PHP
PHP设计模式 注册表模式(多个类的注册)
Feb 05 #PHP
需要注意的几个PHP漏洞小结
Feb 05 #PHP
PHP的可变变量名的使用方法分享
Feb 05 #PHP
You might like
php 全文搜索和替换的实现代码
2008/07/29 PHP
一步一步学习PHP(2)――PHP类型
2010/02/15 PHP
PHP采集相关教程之一 CURL函数库
2010/02/15 PHP
ThinkPHP实现支付宝接口功能实例
2014/12/02 PHP
PHP解压tar.gz格式文件的方法
2016/02/14 PHP
php构造函数与析构函数
2016/04/23 PHP
php基于curl实现的股票信息查询类实例
2016/11/11 PHP
Laravel 手动开关 Eloquent 修改器的操作方法
2019/12/30 PHP
js弹出窗口之弹出层的小例子
2013/06/17 Javascript
全面解析Bootstrap弹窗的实现方法
2015/12/01 Javascript
功能强大的Bootstrap使用手册(一)
2016/08/02 Javascript
jQuery实现的模拟弹出窗口功能示例
2016/11/24 Javascript
JavaScript中return用法示例
2016/11/29 Javascript
JS轮播图中缓动函数的封装
2020/11/25 Javascript
Bootstrap.css与layDate日期选择样式起冲突的解决办法
2017/04/07 Javascript
Vue实现动态添加或者删除对象和对象数组的操作方法
2018/09/21 Javascript
微信小程序如何调用新闻接口实现列表循环
2019/07/02 Javascript
Vue通过配置WebSocket并实现群聊功能
2019/12/31 Javascript
webpack打包优化的几个方法总结
2020/02/10 Javascript
js实现批量删除功能
2020/08/27 Javascript
Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法
2018/02/03 Python
django 通过URL访问上传的文件方法
2019/07/28 Python
Python OpenCV图像指定区域裁剪的实现
2019/10/30 Python
Python如何把Spark数据写入ElasticSearch
2020/04/18 Python
python cv2.resize函数high和width注意事项说明
2020/07/05 Python
Champs Sports加拿大:北美最大的以商场为基础的专业运动鞋和服装零售商之一
2018/05/01 全球购物
工商管理毕业生推荐信
2013/12/24 职场文书
创建青年文明号材料
2014/05/09 职场文书
同学聚会策划方案
2014/06/06 职场文书
机械工程师岗位职责
2014/06/16 职场文书
优秀教研组申报材料
2014/12/26 职场文书
就业意向书范本
2015/05/11 职场文书
任长霞观后感
2015/06/16 职场文书
党性教育心得体会(共6篇)
2016/01/21 职场文书
初中数学课堂教学反思
2016/02/17 职场文书
2019个人年度目标制定攻略!
2019/07/12 职场文书