我注意到的一件事是,在脚本停止工作之前,屏幕上没有任何内容输出。对于我正在处理的项目,我提供了超过100个项目的列表,并为每个项目执行HTTP请求,完成后,显示一个页面,其中包含每个项目的状态,成功失败等。
我想知道的是,是否有办法输出每个'foreach'循环的结果?因此,观看屏幕的用户可以看到每次发生一行或者说5行之后发生的魔法。
我从未见过用Ajax类型请求完成这项工作,那是我应该做的事情呢?任何人都可以指向我这样做或不可能的PHP功能吗?
答案 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();
输出后。