代码之家  ›  专栏  ›  技术社区  ›  Paul M

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

  •  3
  • Paul M  · 技术社区  · 17 年前

    我在php中注意到的一点是,在脚本停止工作之前,不会向屏幕输出任何内容。对于我正在处理的项目,我输入了一个包含100多个项目的列表,它对每个项目执行HTTP请求,完成后,显示一个包含每个项目状态、成功与失败等的页面。

    我只见过用Ajax类型的请求来实现这一点,这是我应该做的吗?有人能给我指出一个php函数可以做到这一点吗?还是不可能?

    4 回复  |  直到 17 年前
        1
  •  8
  •   Al.    17 年前

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

    <?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
  •  7
  •   Brian Ramsay    17 年前

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

        3
  •  2
  •   Tyler Carter    17 年前

    使用 flush() command

        4
  •  1
  •   inakiabt    17 年前

    我用

    flush(); @ob_flush();
    

    在输出之后。