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 清空varnish 缓存的详解(包括指定站点下的)
Jun 20 PHP
PHP中ini_set与ini_get用法实例
Nov 04 PHP
PHP框架Laravel学习心得体会
Oct 28 PHP
浅析Yii2中GridView常见操作
Apr 22 PHP
PHP利用超级全局变量$_POST来接收表单数据的实例
Nov 05 PHP
PHP将身份证正反面两张照片合成一张图片的代码
Apr 08 PHP
PHP获取文本框、密码域、按钮的值实例代码
Apr 19 PHP
PHP实现简单的模板引擎功能示例
Sep 02 PHP
PHP中使用jQuery+Ajax实现分页查询多功能操作(示例讲解)
Sep 17 PHP
浅谈PHP中pack、unpack的详细用法
Mar 12 PHP
Yii框架通过请求组件处理get,post请求的方法分析
Sep 03 PHP
PHP正则之正向预查与反向预查讲解与实例
Apr 06 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使用post数组的键值创建同名变量并赋值的方法
2015/04/03 PHP
jQuery的实现原理的模拟代码 -2 数据部分
2010/08/01 Javascript
JS函数验证总结(方便js客户端输入验证)
2010/10/29 Javascript
js中将字符串转换成json的三种方式
2011/01/12 Javascript
jQuery帮助之筛选查找 children([expr])
2011/01/31 Javascript
如何书写高质量jQuery代码(使用jquery性能问题)
2014/06/30 Javascript
javascript中String对象的slice()方法分析
2014/12/20 Javascript
JavaScript实现自动生成网页元素功能(按钮、文本等)
2015/11/21 Javascript
实践中学习AngularJS表单
2016/03/21 Javascript
开启BootStrap学习之旅
2016/05/04 Javascript
javascript实现简单的可随机变色网页计算器示例
2016/12/30 Javascript
AjaxUpLoad.js实现文件上传功能
2018/03/02 Javascript
Bootstrap开发中Tab标签页切换图表显示问题的解决方法
2018/07/13 Javascript
JavaScript时间日期操作实例小结【5个示例】
2018/12/22 Javascript
jquery获取file表单选择文件的路径、名字、大小、类型
2019/01/18 jQuery
详解Vue demo实现商品列表的展示
2019/05/07 Javascript
详解Vue.js3.0 组件是如何渲染为DOM的
2020/11/10 Javascript
[10:04]国际邀请赛采访专栏:DK.Farseer,mouz.Black^,采访员Josh专访
2013/08/05 DOTA
简单掌握Python中glob模块查找文件路径的用法
2016/07/05 Python
python实现装饰器、描述符
2018/02/28 Python
python实现Dijkstra算法的最短路径问题
2019/06/21 Python
python 识别登录验证码图片功能的实现代码(完整代码)
2020/07/03 Python
纯css3实现的鼠标悬停动画按钮
2014/12/23 HTML / CSS
OSPREY LONDON官网:英国本土皮具品牌
2019/05/31 全球购物
俄罗斯首家面向中国消费者的一站式购物网站:Wruru
2020/05/08 全球购物
Skechers越南官方网站:来自美国的运动休闲品牌
2021/02/22 全球购物
生育关怀行动实施方案
2014/03/26 职场文书
租房协议书怎么写
2014/04/10 职场文书
元旦寄语大全
2014/04/10 职场文书
产品质量保证书
2014/04/29 职场文书
产品推广策划方案
2014/05/10 职场文书
关于奉献的演讲稿
2014/05/21 职场文书
合作协议书范文
2014/08/20 职场文书
企业务虚会发言材料
2014/10/20 职场文书
介绍信范文大全
2015/05/07 职场文书
JPA如何使用entityManager执行SQL并指定返回类型
2021/06/15 Java/Android