睡眠功能之前的PHP回显,无法正常工作 [英] PHP echo before sleep function, not working

查看:87
本文介绍了睡眠功能之前的PHP回显,无法正常工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在睡眠功能执行之前(每次)在浏览器中输出回显.

I want output echo in browser (every time) before sleep function execute.

以下代码不起作用

    set_time_limit(0);
    ob_implicit_flush(1);
    ob_start();
    echo "Start<Br>";
    ob_flush();

    for($i=0;$i<10;$i++){
        $randSlp=rand(1,3);
        echo "Sleeping for ".$randSlp." second. ";
        ob_flush();

        sleep($randSlp);
    }
    ob_end_flush(); 

如果取消注释str_repeat功能比在浏览器
中 第一次 : 开始 睡觉1秒钟. 睡3秒钟.
第二次:睡眠2秒钟. 睡了2秒钟.

if uncomment str_repeat function than in browser
First time : Start Sleeping for 1 second. Sleeping for 3 second.
Second time : Sleeping for 2 second. Sleeping for 2 second.

并继续...

可能不使用str_repeat()函数一个接一个地回显,为什么输出不会每次都显示.

is possible echo one by one without str_repeat() function, why output doesn't display every time.

推荐答案

尝试以下代码及其工作.

Try following code and its work.

header( 'Content-type: text/html; charset=utf-8' );
header("Cache-Control: no-cache, must-revalidate");
header ("Pragma: no-cache");
set_time_limit(0);
ob_implicit_flush(1);
//apache_setenv('no-gzip', 1);
//ini_set('zlib.output_compression', 0);
//ini_set('implicit_flush', 1);
for ($i = 0; $i < 10; $i++) { 
    $randSlp=rand(1,3);
    echo "Sleeping for ".$randSlp." second. ";;
    sleep(1);
    if(ob_get_level()>0)
       ob_end_flush(); 
}

这篇关于睡眠功能之前的PHP回显,无法正常工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆