2017-08-01 75 views
0

我得到了很大的问题,我becouse测试的一切,使它的工作原理,but`s没有 - 但:)进度条工作不冲水

我得到了简单的for循环,并有一颗星,结束,冲洗里面,但是我的浏览器中加载的所有输出在与循环的,而且我认为这个问题的简单的例子:

<?php 

if (ob_get_level() == 0) ob_start(); 
for ($i = 0; $i<10; $i++){ 

    echo "<br> Line to show."; 
    echo str_pad('',4096)."\n";  

    ob_flush(); 
    flush(); 
    sleep(2); 
} 

echo "Done."; 

ob_end_flush(); 
?>        

ai`vd设置所有关于outpuuting_bufforing,zlib的,gzib和其他承滴盘。在htacces,脚本,文件中,甚至在php.ini,apache中都可以使用。我得到了dedicaded服务器,所以可以配置我所需要的。有些人可以告诉我,我还能尝试什么? Ofc在任何日志文件中都没有错误。

感谢您的咨询!

回答

0

ob_flush()提供的官方PHP文档中的评论提到,大多数浏览器都有加载内容的方法。因此,浏览器在加载整个页面之前不会显示任何内容。

http://php.net/manual/de/function.ob-flush.php#109699

这意味着,刷新输出到浏览器不会为你工作。

另一种方法是通过AJAX启动初始请求,然后使用第二个请求来提供有关当前过程的信息。

+0

所以更好的是这样做所有我的脚本等在阿贾克斯,会更容易,效果不错... – CommanderSpock