当我用php(在循环中)构建一组元素(比如100)时,页面是仅在循环完成时发送到客户端,还是在循环完成之前客户端页面已经显示在客户端上?谢谢
问问题
50 次
3 回答
3
您可以随时在 PHP 代码中控制到客户端浏览器的输出
示例立即发送给客户
for($i = 0; $i < 100; $i ++) {
echo $i, " - sent ";
sleep(1);
flush(); // Send to client Instantly
}
循环后发送示例
ob_start();
for($i = 0; $i < 100; $i ++) {
echo $i, " - sent ";
sleep(1);
}
ob_end_flush() // Send after loop
示例 3(这将只使用您的默认输出缓冲区配置)
for($i = 0; $i < 100; $i ++) {
echo $i, " - sent ";
sleep(1);
}
最后(来源:Ninsuo)
某些浏览器在页面完全加载之前不会显示任何内容,因此我们并不总是控制刷新
于 2012-09-13T11:50:29.513 回答
0
我想说,在脚本结束之前,您不能依赖向用户显示的任何内容。虽然您可以设置 PHP 的缓冲设置,但这将通过可能缓冲或不缓冲的 Apache,然后到浏览器,浏览器也可能缓冲或不缓冲。
在用户数据可用时显示数据的最安全方法是在页面加载后通过客户端浏览器的 AJAX 调用。
于 2012-09-13T11:54:25.157 回答