【发布时间】:2014-04-11 18:46:25
【问题描述】:
我在我的 PHP 页面上进行了大量处理,我想向用户显示进度信息,例如,完成 10% 20% 等等。现在的情况是,所有的数据都是处理完后一次性显示出来的,我怎么能马上显示呢!
我尝试在php.ini 中设置注释输出缓冲区,并尝试在echo 语句之后使用flush(),不工作,有什么建议吗?
这是我的代码:
ob_start();
while ($line = read_file_line("c:/1.txt")) {
$read_lines_count++;
if($read_lines_count % 100 == 0) {
echo "parsed $read_lines_count <br />";
ob_flush();
}
}
【问题讨论】:
-
这也取决于服务器配置。如果您想确定,请将作业分成几部分并使用 ajax。当然,如果 ajax 是一种选择。
-
@xd6_ 我刚试过,不行 :( 仍然等到处理完成...
-
@jeroen,我可以访问服务器,我需要在 php.ini 中进行任何更改吗?
-
@AminM 我不确定,涉及的不仅仅是 php。
标签: php output-buffering