关于ob_start()函数的研究


说实话上手PHP至今也有一年多了,这个ob_start()神奇的函数还从未使用过,只是道听途说是输出缓冲之类的函数,今天特意对此小捣鼓下,本人才疏学浅,不能悟出很高的境界,只是皮毛,望手下留情。

首先说说这个函数最经典的用法(eg)

//首先开启ob缓冲
ob_start();
                              
//下面都是输出
echo '<h1>www.markdream.com</h1>';
$data = '我是内容哦,嘎嘎~~';
echo $data;
                              
//获取页面输出的内容,保存到变量中
$html=ob_get_contents();
                              
//关闭ob  到里这里运行PHP在浏览器上是看不懂任何东东的
ob_clean();
                              
//所以我再这里把这个保存成一个静态文件
file_put_contents('test.htm', $html);

除此之外我也没能发现其他东东,我个人认为在页面生成静态用此方法是最佳的,因为你一个变量不能获取到其他N个函数的输出(加入此函数没有返回值而直接输出),就那最经典的phpinfo()函数来说,普通的变量是无法保存这个函数的输出的,或者当一个页面有N个函数都在输出你如何将其串联成一整套html?你没有办法,用这个函数就可以搞定这样的需求了。

综上述总结几点

1、此函数主要用来获取一些无法获取某些函数输出时使用

2、生成静态文件获取整个页面html将其保存成一个静态文件即可

3、控制页面某些header()、setcookie()、session_start()函数的操作

 

其他链接:

http://qing.weibo.com/tj/86ea731933000dez.html

http://www.itlearner.com/article/4312

http://www.php.net/manual/zh/function.ob-start.php


发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

评论审核已启用。您的评论可能需要一段时间后才能被显示。