PHP显示每个项目的foreach到屏幕的输出

时间:2009-07-29 15:28:55

标签: php ajax foreach

我注意到的一件事是,在脚本停止工作之前,屏幕上没有任何内容输出。对于我正在处理的项目,我提供了超过100个项目的列表,并为每个项目执行HTTP请求,完成后,显示一个页面,其中包含每个项目的状态,成功失败等。

我想知道的是,是否有办法输出每个'foreach'循环的结果?因此,观看屏幕的用户可以看到每次发生一行或者说5行之后发生的魔法。

我从未见过用Ajax类型请求完成这项工作,那是我应该做的事情呢?任何人都可以指向我这样做或不可能的PHP功能吗?

4 个答案:

答案 0 :(得分:7)

flush()应该这样做,或者您可以查看all the output buffering functions

答案 1 :(得分:6)

最好将所有脚本输出存储在缓冲区中,然后在需要时刷新缓冲区。

例如:

<?php

if (ob_get_level() == 0) ob_start();

$test = Array('one','two','three','four');
foreach ($test as $key=>$val)
{
    echo $test;
    ob_flush();
    flush();
}

ob_end_flush();

?>

确保您已禁用mod_gzip!

答案 2 :(得分:2)

使用flush() command

答案 3 :(得分:1)

我用

flush(); @ob_flush();

输出后。