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

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

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

有帮助吗?

解决方案

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

例如:

<?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!

其他提示

scroll top