2017-05-12 18:12:10 1982次浏览 2条回答 0 悬赏 10 金钱

如题,下面的代码在单纯的php文件可以实现逐行打印效果,但是放到controller的action里面,就不起作用了,哪位大神遇到过?如何解决的?

for ($i = 0; $i < 3; $i++) {
    echo "当前时间:" . date("Y-m-d H:i:s") . "<br>";
    ob_end_flush();
    flush();
    ob_start(function($buffer) {
        return $buffer . str_repeat(' ', max(0, 4097 - strlen($buffer)));
    });
    sleep(1);
}

最佳答案

  • admin_admin 发布于 2017-05-15 11:34 举报

    我测试了没有问题啊

    1.jpg

    3 条回复
    回复于 2017-05-15 13:34 回复

    我这都是可以运行的 只是两种有差别,纯php是逐行出现,框架里面是3秒后一次性出现,你这边如何?

    回复于 2017-05-15 13:49 回复

    亲试。都是逐行出现。

    回复于 2017-05-15 13:55 回复

    我表示:呆立当场,感叹世事无常,看待我肯定是错过了些什么

  • 回答于 2017-05-13 13:29 举报

    把下面几行拿掉,直接echo 有效吗?感觉ob那部分有点问题。

    ob_end_flush();
    flush();
    ob_start(function($buffer) {
        return $buffer . str_repeat(' ', max(0, 4097 - strlen($buffer)));
    });
    sleep(1);
    
    3 条回复
    回复于 2017-05-14 00:15 回复

    这些代码我在非yii2 环境下测试无误的

    回复于 2017-05-14 00:16 回复

    无论如何,十分感谢

    回复于 2017-05-15 09:34 回复

    其实没帮上什么忙,只是说说感觉。

您需要登录后才可以回答。登录 | 立即注册
tisswb
副总裁

tisswb

注册时间:2011-06-24
最后登录:2023-04-10
在线时长:46小时1分
  • 粉丝28
  • 金钱2865
  • 威望200
  • 积分5325

热门问题