Pas*_*TIN 27
这是一个快速演示:
for ($i=0 ; $i<10 ; $i++) {
echo "$i<br />";
ob_flush();
flush();
sleep(1);
}
Run Code Online (Sandbox Code Playgroud)
每一秒,一个数字将被发送到浏览器,而不必等待循环/脚本结束.
(没有刷新和ob_flush,它等待脚本结束发送输出)
解释为什么你需要两者,引用手册中的刷新页面:
刷新PHP的写缓冲区以及PHP正在使用的任何后端(CGI,Web服务器等).这会尝试将当前输出一直推送到浏览器,但需要注意几点.
flush()可能无法覆盖Web服务器的缓冲方案,并且它对浏览器中的任何客户端缓冲没有影响.它也不会影响PHP的用户空间输出缓冲机制.这意味着如果使用ob输出缓冲区,则必须同时调用ob_flush()和flush()来刷新ob输出缓冲区.
如果这对你不起作用,看看手册两页上的评论可以给你一些关于"它为什么会失败"的指示
| 归档时间: |
|
| 查看次数: |
9395 次 |
| 最近记录: |