热搜:NVER node 开发 php

关于ob输出问题

2024-09-03 16:55:01
关于ob输出问题

<?phpob_start();echo str_repeat(" ",4098);for($i=65;$i<70;$i++){	echo chr($i);	ob_flush();	flush();	sleep(1);}?>


请问以上代码在IE,FF下均正常,可以依次输出ABCDE,而在谷歌浏览器下无法依次显示,而是一次输出ABCDE,原来以为是谷歌缓存过大加大str_repeat 为9000后仍是一次输出,不知道是什么原因?


回复讨论(解决方案)

我谷歌打开是正常的啊 依次输出

我谷歌打开是正常的啊 依次输出
我的 版本 33.0.1750.117 m 不显示

我谷歌打开是正常的啊 依次输出

已经重装谷歌浏览器,并且换了两台电脑测试 也是一样,一次输出ABCDE,而不是依次输出
不知道楼主用的什么版本啊

用360的极速模式也一样,只要是chrome内核的都是一次全部输出

至少需要

ob_start();for($i=65;$i<70;$i++){    echo str_repeat(" ",4098);    echo chr($i);    ob_flush();    flush();    sleep(1);}

至少需要

ob_start();for($i=65;$i<70;$i++){    echo str_repeat(" ",4098);    echo chr($i);    ob_flush();    flush();    sleep(1);}


您好 版主复制你的结果在chrome内核浏览器(360,谷歌)上还是一次全部显示,而不会依次显示

不知道,360极速 是什么内核

本来这种输出就是很无聊的,以前只知道与服务器相关,现在又有了浏览器相关
可见成功就变成小概率事件了
毫无实用价值,不必把精力放在这上面

if (ob_get_level() == 0) ob_start();for ($i = 0; $i<10; $i++){	echo "
Line to show."; //echo str_pad('1',4096)."\n"; echo str_repeat("1",4098); ob_flush(); flush(); sleep(2);}echo "Done.";ob_end_flush();