我希望在睡眠函数执行之前在浏览器中输出回显(每次)。
以下代码不起作用
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 str_repeat(" ", 1024);
echo "Sleeping for ".$randSlp." second. ";
ob_flush();
sleep($randSlp);
}
ob_end_flush();
如果取消注释str_repeat
功能优于浏览器
第一次 :
开始
休眠1秒。
睡3秒。
第二次:睡眠2秒。
睡2秒。
并继续...
没有str_repeat()函数就可以一一回显,为什么每次都不显示输出。
尝试以下代码及其工作。
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();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)