首頁 >後端開發 >php教程 >php中的ob_start()应用

php中的ob_start()应用

WBOY
WBOY原創
2016-06-06 20:08:471010瀏覽

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>

对你输出内容作统一修改的时候,你可以用这组方法在输出页面前取到输出内容,然后做完你想做的事之后,再输出

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn