PHP ob_start()问题

HEL*_*ELP 4 php output-buffering

我允许ob_start();在我的php文件中有两个或更多,如果是这样,结束一个ob_start();并启动另一个的正确方法是什么?

Bra*_*ace 6

从手册:

输出缓冲区是可堆叠的,也就是说,当另一个ob_start()处于活动状态时,您可以调用ob_start().只需确保调用ob_end_flush()适当的次数.如果多个输出回调函数处于活动状态,则将按嵌套顺序依次对每个输出回调函数进行过滤.

除了堆叠(嵌套)之外,您还可以按顺序使用单独的块.

<?
ob_start();
echo "Foo";
ob_end_flush(); // outputs buffer contents and turns off output buffering

ob_start();
echo "Bar";
ob_end_flush();
?>
Run Code Online (Sandbox Code Playgroud)