获取PHP's的输出缓冲&冲洗工作——在意料之中


Getting PHP's `output buffering & flushing` work - expectedly

下面的代码遍历一个大文件,并逐行吐出…
但是可恶的东西只是等待,等待,等待这个6000行文件-浏览器状态消息"从本地主机传输数据…"-最终会的!

我只是好奇在这里还能做些什么来避免等待和看到即时结果…

    //------------------------------------------------ 
    if (ob_get_level() == 0) ob_start(); 
    //------------------------------------------------
    echo '<pre><ol>';
    $handle = fopen($file, "r");
    while(!feof($handle)){
    $line = fgets($handle);
    echo '<li>' , $line , "'n";
    //------------------------------------------------
    ob_flush();
    flush();    
    //------------------------------------------------
    }
    echo '</pre>';
    fclose($handle);
    //------------------------------------------------
    ob_end_flush();
    //------------------------------------------------

我希望浏览器立即响应-服务器处理循环中的每个迭代。

期望的结果是,我应该能够看到浏览器中的文档变得越来越大,而垂直滚动条以恒定的方式变得越来越小。

如果你想让它加载到屏幕上,为什么要使用ob_flush呢?Ob_flush处理所有内容,然后将其转储到屏幕上。为什么不从一开始就把它放到屏幕上呢?