我编写了这段代码来检查实际代码在php中运行的实时序列
header('Content-type: text/html; charset=utf-8' );
echo 'Begin ...<br />';
flush();
ob_flush();
echo "Hello<br />";
flush();
ob_flush();
sleep(5);
预期输出应按以下顺序排列: 1.开始 你好 3.睡觉(5)
但它们实际执行的顺序是: 1.Begin 2.休眠(5) 3.Hello 如果php真的顺序那么它应该按照给定的顺序然后为什么这个区别?如果我想严格按顺序执行命令,那么我需要什么程序来更新进度条宽度。
您可以通过评论它在START和Hello之间等待的睡眠功能来检查此行为。 我使用codeigniter框架。
答案 0 :(得分:0)
在大多数情况下单独刷新是不够的,浏览器至少需要我认为它是256kb的数据,至少在一些浏览器中它依赖和改变,在它显示刷新之前,所以它是fluesh但是你没有看到结果,尝试类似
echo "Hello<br />";
str_repeat(" ",256);
我知道它太多但它应该有效,那么你应该看到你的期望
如果它不符合您的预期,您可以使用该号码,因为我说这也取决于使用的浏览器:D