php - 输出值以屏幕中间循环

时间:2010-10-08 19:31:27

标签: php

在漫长的foreach循环中是否可以输出任何内容?

每当我执行一个需要很长时间的循环时,在循环完全完成之前不会向屏幕输出任何内容 - 即使echo语句在循环内部也是如此。

有没有办法改变这种行为?

2 个答案:

答案 0 :(得分:2)

您需要刷新缓冲区。怎么做取决于您的服务器设置。 PHP脚本通常设置为具有输出缓冲或甚至zlib缓冲编码。无论如何,flush()ob_flush()是两个可以提供帮助的功能。

请注意,如果客户端本身正在缓冲结果,则这些都不会有所帮助。即,没有办法保证冲洗有效。

答案 1 :(得分:0)

您需要同时使用flush()ob_ flush()来确保正在发送数据。有些浏览器有点挑剔,需要至少发送1k(1,024字节)的数据才能遵守flush命令。