说实话上手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