php生成静态文件的多种方法分享


Posted in PHP onJuly 17, 2012

第一种:将php动态页面内容生成静态

ob_start();#开启服务器缓存 
include_once 'Index.php'; 
$ctx=ob_get_contents();#获取缓存 
ob_end_clean();#清空缓存 
$fh=fopen("index.html","w+"); 
fwrite($fh,$ctx);#写入html,生成html 
fclose($fh); 
/* 
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]) 
*/

第二种:
php 静态文件生成类(自家用)
<?php 
class CreateHtml 
{ 
function mkdir( $prefix= 'article' ) 
{ 
$y = date('Y'); 
$m = date('m'); 
$d = date('d'); 
$p=DIRECTORY_SEPARATOR; 
$filePath='article'.$p.$y.$p.$m.$p.$d; 
$a=explode($p,$filePath); 
foreach ( $a as $dir) 
{ 
$path.=$dir.$p; 
if(!is_dir($path)) 
{ 
//echo '没有这个目录'.$path; 
mkdir($path,0755); 
} 
} 
return $filePath.$p; 
} 
function start() 
{ 
ob_start(); 
} 
function end() 
{ 
$info = ob_get_contents(); 
$fileId = '12345'; 
$postfix = '.html'; 
$path = $this->mkdir($prefix= 'article'); 
$fileName = time().'_'.$fileId.$postfix; 
$file=fopen($path.$fileName,'w+'); 
fwrite($file,$info); 
fclose($file); 
ob_end_flush(); 
} 
} 
?> 
<?php 
$s=new CreateHtml(); 
$s->start(); 
?> 
<html> 
<body> 
asdfasdfasdfasdfasdfasdfasdfasdfasdf<br> 
adfasdfasdf<br> 
</body>> 
</html> 
<?php 
$s->end(); 
?>
PHP 相关文章推荐
使用PHP维护文件系统
Oct 09 PHP
第三节--定义一个类
Nov 16 PHP
php面向对象全攻略 (九)访问类型
Sep 30 PHP
PHP中空字符串介绍0、null、empty和false之间的关系
Sep 25 PHP
解析PHP自带的进位制之间的转换函数
Jun 08 PHP
php中常见的sql攻击正则表达式汇总
Nov 06 PHP
php生成验证码,缩略图及水印图的类分享
Apr 07 PHP
PHP获取客户端及服务器端IP的封装类
Jul 21 PHP
PHP基于curl模拟post提交json数据示例
Jun 22 PHP
ThinkPHP5与单元测试PHPUnit使用详解
Feb 23 PHP
PHP dirname功能及原理实例解析
Oct 28 PHP
PHP的imageTtfText()函数深入详解
Mar 03 PHP
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
Jul 16 #PHP
php生成略缩图代码
Jul 16 #PHP
ThinkPHP 连接Oracle数据库的详细教程[全]
Jul 16 #PHP
PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
Jul 15 #PHP
在项目中寻找代码的坏命名
Jul 14 #PHP
注册页面之前先验证用户名是否存在的php代码
Jul 14 #PHP
php学习之function的用法
Jul 14 #PHP
You might like
纯php打造的tab选项卡效果代码(不用js)
2010/12/29 PHP
PHP中Date()时间日期函数的使用方法小结
2011/04/20 PHP
php设计模式之单例模式代码
2016/06/11 PHP
利用Laravel事件系统如何实现登录日志的记录详解
2017/05/20 PHP
Javascript hasOwnProperty 方法 &amp; in 关键字
2008/11/26 Javascript
jQuery中focus事件用法实例
2014/12/26 Javascript
JS显示下拉列表框内全部元素的方法
2015/03/31 Javascript
AngularJS入门教程之AngularJS指令
2016/04/18 Javascript
原生JS实现匀速图片轮播动画
2016/10/18 Javascript
详解JavaScript中的属性和特性
2016/12/08 Javascript
使用BootStrap实现悬浮窗口的效果
2016/12/13 Javascript
JavaScript中双符号的运算详解
2017/03/12 Javascript
AngularJs实现聊天列表实时刷新功能
2017/06/15 Javascript
JS禁止浏览器右键查看元素或按F12审查元素自动关闭页面示例代码
2017/09/07 Javascript
iview table render集成switch开关的实例
2018/03/14 Javascript
如何手写简易的 Vue Router
2020/10/10 Javascript
[53:10]Secret vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
[01:09:50]VP vs Pain 2018国际邀请赛小组赛BO2 第二场
2018/08/20 DOTA
[01:02:54]完美世界DOTA2联赛PWL S2 FTD vs GXR 第一场 11.22
2020/11/26 DOTA
利用soaplib搭建webservice详细步骤和实例代码
2013/11/20 Python
Python编写百度贴吧的简单爬虫
2015/04/02 Python
Python迭代和迭代器详解
2016/11/10 Python
浅析python3中的os.path.dirname(__file__)的使用
2018/08/30 Python
python使用插值法画出平滑曲线
2018/12/15 Python
Python类的继承、多态及获取对象信息操作详解
2019/02/28 Python
NumPy统计函数的实现方法
2020/01/21 Python
在keras下实现多个模型的融合方式
2020/05/23 Python
快速解释如何使用pandas的inplace参数的使用
2020/07/23 Python
CSS3中Transform动画属性用法详解
2016/07/04 HTML / CSS
自荐信格式写作方法有哪些呢
2013/11/20 职场文书
酒店人事专员岗位职责
2013/12/19 职场文书
党支部对照检查材料
2014/08/25 职场文书
海南召开党的群众路线教育实践活动总结大会新闻稿
2014/10/21 职场文书
邀请函怎么写
2015/01/30 职场文书
党支部审查意见
2015/06/02 职场文书
小学生家长意见
2015/06/03 职场文书