在无限循环中是否可以在浏览器上显示字符串?这就是我想要发生的事情:
while(1) {
echo "should display these lines on browser while in infinite loop.<br>";
}
答案 0 :(得分:13)
是的,有可能。如果您希望立即显示输出,则需要flush输出到浏览器:
while(1) {
echo "should display these lines on browser while in infinite loop.<br>";
flush();
}
无论你想要完成什么,这都不是你应该如何去做的。
PHP最终会超时,但在它生成大量 HTML文档之前,浏览器将无法显示它。
答案 1 :(得分:4)
注意使用ob_flush();
来确保php输出,usleep(100000)
有时间看到事情发生。
while(1) {
echo "should display these lines on browser while in infinite loop.<br>";
usleep(100000); // debuging purpose
ob_flush();
flush();
}
答案 2 :(得分:2)
在echo语句之后添加flush()
,它会将输出刷新到浏览器。请注意,浏览器通常不会开始渲染,直到达到一定量的信息(大约.5kB)。
while(1) {
echo "should display these lines on browser while in infinite loop.<br>";
flush(); //Flush the output buffer
}
答案 3 :(得分:0)
如果你不想把flush();在你的代码的每次回声之后:
在php.ini中设置:
implicit_flush =关
或者,如果您无权访问php.ini:
@ini_set( 'implicit_flush',1);