在ob_start中创建file_put_contents的延迟

时间:2018-12-02 07:13:31

标签: php

我正在使用ob_start()捕获文件的内容 内容是通过一个循环生成的,在该循环中,我还有另一个ob_start()输出到第二个文件。

ob_start()
for(loop=0;$loop<=1000;$loop++){

ob_start();
    ?>
    <p style="text-align:center"><?php echo $studentCounter.'/'.count($students);?></p>
    <?php
    file_put_contents('htmlpolling/'.$datePassed.$_SESSION['userCode'].'TTT'.$studentCounter.'.html', ob_get_clean());
}

    file_put_contents('htmlpolling/'.$_SESSION['userCode'].'.html', ob_get_clean());

文件创建成功,但是在循环内部创建的文件直到循环完成并写入最终文件后才会显示。

任何原因吗?

1 个答案:

答案 0 :(得分:0)

问题是,在文件创建发生之前,要从数据库中检索大量数据/将其存储在数组中……一旦完成了所有耗时的工作,文件实际上就立即创建了,这就是为什么它们只出现在文件中的原因最后生成。