我有一个php问题,而while和sleep,while循环只在循环结束时每隔1秒发出一次回声
我试过这个:
<?php
ob_implicit_flush(true);
ob_end_flush();
$i=0;
while($i<=5) {
echo $i;
sleep(1);
flush();
$i++;
}
?>
答案 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);
}
此代码将首先刷新所有回声,然后开始一个一个地输出回声。