输出缓冲 - 动态回显值?

时间:2012-07-21 11:08:43

标签: php

我希望动态地回显字符串,而不是在脚本完成运行时立即回显所有字符串。试过这个,但是当脚本运行完毕后它会回复所有这些。如何动态回显值?

<?php
ob_start();

echo "Line #1...<br>";
ob_flush();
flush();
sleep(2);

echo "Line #2...<br>";
ob_flush();
flush();
sleep(2);

echo "Line #4...<br>";

?>

1 个答案:

答案 0 :(得分:2)

尝试发送类似\ n的行尾或向每个回显附加至少256个空格以触发浏览器。

有些浏览器在渲染之前会等待至少256个字节,其他浏览器需要换行符。在每次冲洗前尝试这个组合:

echo str_repeat(" ", 256) . "\n";

其他原因可能是缓存响应的网络服务器。