Heim >Backend-Entwicklung >PHP-Tutorial >php for循环时间控制没秒钟输出一次解决办法

php for循环时间控制没秒钟输出一次解决办法

WBOY
WBOYOriginal
2016-06-13 10:15:001596Durchsuche

php for循环时间控制没秒钟输出一次
ob_end_clean();
echo str_pad(' ', 256);
for ($i=10; $i>0; $i--)
{ echo $i;
flush();
sleep(5);

?>
网上找到这样一段代码,想每秒钟间隔输出!结果发现在火狐里没用,ie里却可以,坑爹啊,不要告诉我,php有浏览器差异!

------解决方案--------------------
因为 你太傻
------解决方案--------------------
花了点时间查了下这个问题,大概是这样的:默认情况下b/s结构为浏览器主动拉数据,ie浏览器在接受256个字节的数据后就开始显示信息了,火狐则会等服务端程序执行完毕才一并显示
我们可以加上一个http头让b/s结构变成服务器主动推送的的模式,这样火狐在接收到数据就开始显示,ie接收到256个字节的数据才开始显示:

PHP code
header("Content-type: multipart/x-mixed-replace;");echo str_pad(' ', 256);//如果去掉这一行,会出现和楼主代码相反的效果for($i=0;$i
                 
              
              
        
            
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:php生成XML怎么加BOMNächster Artikel:关于php编码有关问题