加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – echo“string”,而每个long循环迭代(flush()不起作用)

发布时间:2020-12-13 14:03:52 所属栏目:PHP教程 来源:网络整理
导读:我有一个循环需要很长时间才能执行,我希望脚本在循环迭代完成时显示某些东西. echo "Hello!";flush();for($i = 0; $i 10; $i ++) { echo $i; //5-10 sec execution time flush();} 在整个脚本完成之前,这不会显示回音.什么地方出了错? 从PHP手册: flush()
我有一个循环需要很长时间才能执行,我希望脚本在循环迭代完成时显示某些东西.
echo "Hello!";

flush();

for($i = 0; $i < 10; $i ++) {
    echo $i;
    //5-10 sec execution time
    flush();
}

在整个脚本完成之前,这不会显示回音.什么地方出了错?

从PHP手册:

flush()可能无法覆盖Web服务器的缓冲方案,并且它对浏览器中的任何客户端缓冲都没有影响.它也不影响PHP的用户空间输出缓冲机制.这意味着如果您正在使用ob输出缓冲区,则必须调用ob_flush()和flush()来刷新ob输出缓冲区.

echo "Hello!";
flush();
ob_flush();

for($i = 0; $i < 10; $i ++) {
    echo $i;
    //5-10 sec execution time
    flush();
    ob_flush();
}

– 或 – 您可以刷新并关闭缓冲

<?php
//Flush (send) the output buffer and turn off output buffering
while (ob_get_level() > 0)
    ob_end_flush();

echo "Hello!";

for($i = 0; $i < 10; $i ++) {
    echo $i . "rn";
}

?>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读