我正在尝试实现一个实现Http Streaming(或Chunked-Encoding)的简单Http Response类。为了实现这一点,我需要在php.ini中设置output_buffering = Off
,并以特定间隔刷新输出。
PHP自动完成了这项工作 - 除了实际的刷新机制。我已经开始工作,但我不确定它是否过分了。我想知道如何立即刷新每个级别的输出缓冲,而不需要调用十亿个函数(我不确定哪些环境/在哪些情况下哪些是冗余的)。
while (ob_get_level())
{
ob_end_flush();
}
// print the buffer
flush();
ob_flush();
这有多大意义吗?
答案 0 :(得分:3)
您不需要ob_flush()
和ob_end_flush()
。你的while循环就足够了。
您还应该看看:http://us.php.net/manual/en/function.ob-implicit-flush.php
在flush()
之后您对ob_end_flush()
的需求取决于您如何设置此功能。