php问题while和sleep,while循环只在循环结束时回显

时间:2015-10-22 10:20:49

标签: php loops while-loop sleep

我有一个php问题,而while和sleep,while循环只在循环结束时每隔1秒发出一次回声

我试过这个:

<?php
ob_implicit_flush(true);
ob_end_flush();


$i=0;
while($i<=5) {
     echo $i;
     sleep(1);
     flush();
     $i++;
}
?>

2 个答案:

答案 0 :(得分:0)

试试这个。它在我的浏览器上工作

<?php
ini_set('zlib.output_compression','Off');// if not in php.ini
header( 'Content-type: text/html; charset=utf-8' );
header("Cache-Control: no-cache, must-revalidate");
header ("Pragma: no-cache");
ob_implicit_flush(true);
ob_end_flush();
$i=0;
while($i<=5) {
     echo $i;
     flush();
     sleep(1);
     $i++;
}
?>

在php.ini zlib.output_compression=Off

中确保此值

另请参阅此question的所有答案以获取详细答案

答案 1 :(得分:0)

if (!ob_get_level()) {
    ob_start();
} else {
    ob_end_clean();
    ob_start();
}

$i = 0;
while ($i <= 5) {
    flush();
    ob_flush();
    echo $i . "\n";
    $i++;
    sleep(1);
}

此代码将首先刷新所有回声,然后开始一个一个地输出回声。