PHP:结束输出缓冲后会发生什么

时间:2013-08-05 13:04:04

标签: php buffer output flush output-buffering

我有一些代码可以执行以下操作:

<?php
ob_flush();
ob_start();
echo $something;
ob_end_flush();

echo $another_thing;
?>

我可以看到$something但不是$another_thing;

根据手册ob_end_flush()只是关闭输出缓冲,所以如果是这样的话,为什么我不能看到$another_thing;就像我写的没有任何输出缓冲一样:

<?php
echo $something;
echo $another_thing;
?>

虽然我认为没有理由这样做,但我决定在flush()之后尝试拨打ob_flush()echo $another_thing;,但这也无济于事。

这样做的正确方法是什么,为什么上述工作没有?

由于

1 个答案:

答案 0 :(得分:0)

原来问题出在其他地方了!

在上面设置$something;的过程中,我在一个大模板中调用了一系列函数,并且在那里埋藏了一个exit语句,所以问题与输出缓冲无关!