php删除输出缓冲

时间:2014-04-11 18:46:25

标签: php output-buffering

我在PHP页面上进行了大量处理,我希望向用户显示进度信息,例如,完成10%20%等等。现在发生的事情是在处理完成后立即显示所有数据,我该如何立即显示它!

我尝试在php.ini中设置注释输出缓冲区,我尝试在flush()语句之后使用echo,不工作,有任何建议吗?

这是我的代码:

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();
  }
}

1 个答案:

答案 0 :(得分:3)

首先,您需要在打印任何代码之前致电ob_start()

然后回复你想要的任何东西

如果要在屏幕上显示缓冲区,请调用ob_flush()

最后,调用ob_end_flush()来结束缓冲并显示输出。

确保您的php.ini有一行取消注释

output_buffering = On

更多信息:http://www.php.net/manual/en/book.outcontrol.php