php中的ob_start()函数的应用场景是什么时候,请讲解怎么用,谢谢。
php中的ob_start()函数的应用场景是什么时候,请讲解怎么用,谢谢。
延迟输出的时候有用
因为原来的php是按脚本顺序执行的 如果前面输出了内容 ,执行到后面又想对前面已经输出的内容要修改,这时候就有用
用法示例
<code><?php function callback($buffer) { // replace all the apples with oranges return (str_replace("apples", "oranges", $buffer)); } ob_start("callback"); ?> <p>It's like comparing apples to oranges.</p> <?php ob_end_flush(); ?> </code>
比如你的程序需要输出一些内容到浏览器,而在输出的过程中因为某些异常或者错误需要放弃输出,则通过ob缓冲系统可以不把内容输出到浏览器(因为之前输出的内容还是缓冲中,可以随时清掉)。
比如某些函数是直接输出的,而你又想只捕捉这些输出而不让它们传到浏览器,也可以通过ob系统来进行捕捉。
我只知道一种用法,就是将var_dump等输出的内容以字符串的形式返回给浏览器,比如:
<code> ob_start(); var_dmp($data); $result = ob_get_clean();</code>
对你输出内容作统一修改的时候,你可以用这组方法在输出页面前取到输出内容,然后做完你想做的事之后,再输出