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 相关文章推荐
php生成随机密码的三种方法小结
Sep 04 PHP
PHP执行zip与rar解压缩方法实现代码
Dec 05 PHP
dhtmlxTree目录树增加右键菜单以及拖拽排序的实现方法
Apr 26 PHP
解析PHP实现多进程并行执行脚本
Jun 18 PHP
php顺序查找和二分查找示例
Mar 27 PHP
PHP判断表单复选框选中状态完整例子
Jun 24 PHP
两种php实现图片上传的方法
Jan 22 PHP
PHP简单实现文本计数器的方法
Apr 28 PHP
PHP+MySQL存储数据常见中文乱码问题小结
Jun 13 PHP
解决微信授权回调页面域名只能设置一个的问题
Dec 11 PHP
php生成无限栏目树
Mar 16 PHP
php及codeigniter使用session-cookie的方法(详解)
Apr 06 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
克隆一个新项目的快捷方式
2013/04/10 PHP
PHP中exec函数和shell_exec函数的区别
2014/08/20 PHP
PHP文件操作之获取目录下文件与计算相对路径的方法
2016/01/08 PHP
Zend Framework教程之模型Model用法简单实例
2016/03/04 PHP
解析 thinkphp 框架中的部分方法
2017/05/07 PHP
PHP简单实现欧拉函数Euler功能示例
2017/11/06 PHP
PHP自动生成缩略图函数的源码示例
2019/03/18 PHP
picChange 图片切换特效的函数代码
2010/05/06 Javascript
JavaScript flash复制库类 Zero Clipboard
2011/01/17 Javascript
Jquery Change与bind事件代码
2011/09/29 Javascript
js猜数字小游戏的简单实现代码
2013/07/02 Javascript
PHP开发者必须掌握的6个关键字
2014/04/14 Javascript
简单谈谈jQuery(function(){})与(function(){})(jQuery)
2014/12/19 Javascript
jQuery实现冻结表格行和列
2015/04/29 Javascript
JS生成不重复的随机数组的简单实例
2016/07/10 Javascript
前端框架Vue.js中Directive知识详解
2016/09/12 Javascript
vue引入js数字小键盘的实现代码
2018/05/14 Javascript
基于vue-cli3和element实现登陆页面
2019/11/13 Javascript
在 Vue 中编写 SVG 图标组件的方法
2020/02/24 Javascript
[41:08]2014 DOTA2国际邀请赛中国区预选赛 HGT VS NE
2014/05/22 DOTA
python基础教程之匿名函数lambda
2017/01/17 Python
python-itchat 统计微信群、好友数量,及原始消息数据的实例
2019/02/21 Python
Python 操作 PostgreSQL 数据库示例【连接、增删改查等】
2020/04/21 Python
ITK 实现多张图像转成单个nii.gz或mha文件案例
2020/07/01 Python
瑞典领先的汽车零部件网上零售商:bildelaronline24.se
2017/01/12 全球购物
Stutterheim瑞典:瑞典高级外套时装品牌
2019/06/24 全球购物
厨房工作人员岗位职责
2013/11/15 职场文书
运动会开幕式邀请函
2014/02/03 职场文书
逃课上网检讨书
2014/02/20 职场文书
党的群众路线教育实践活动个人对照检查材料(企业)
2014/11/05 职场文书
给老婆的检讨书
2015/01/27 职场文书
辣妈辣妹观后感
2015/06/10 职场文书
小学生禁毒教育心得体会
2016/01/15 职场文书
煤矿安全学习心得体会
2016/01/18 职场文书
C站最全Python标准库总结,你想要的都在这里
2021/07/03 Python
python实现Nao机器人的单目测距
2021/09/04 Python