ob_end_clean(); //在循环输出前,要关闭输出缓冲区
print "一共5个档案要处理<hr>";
sleep(1);
print str_pad("", 5000); //为什么非要5000? 大于5000也可以
@ob_flush(); //@禁止显示错误,如果前面没有缓冲内容,ob_flush是会出错的
flush(); //浏览器在接受输出一定长度内容之前不会显示缓冲输出,这个长度值 IE是256,火狐是1024
for ($i = 1; $i <= 5; $i++) {
sleep(1);
print "#$i 完毕<hr>";
print str_pad("", 10000);
@ob_flush();
flush();
}
print "恭喜,全部处理成功!";
要点:
在循环输出前,要关闭输出缓冲区
必须同时使用ob_flush()和flush() 函数来输出缓冲。
在每次flush显示前,输出str_pad("",5000),为的是输出足够的字节长度
原文链接:https://blog.csdn.net/ownfire/article/details/10343645