2010-06-13
1 2 3 共有3页

也就是说本文开头的脚本,可以根据缓存开启与否,有如下几种不同的写法:

注:以下代码都未考虑IE缓存必须大于256字节才输出的问题,如在IE下测试,请在代码开始加一句:“echo str_repeat(' ',256)”

写法1:
output_buffering = off
implicit_flush=off
<?php
for($i=0;$i<10;$i++) {
   echo $i.'<br />';
   flush();
   sleep(1);
}
?>


写法2:
output_buffering = on
implicit_flush=off
<?php
for($i=0;$i<10;$i++) {
   echo $i.'<br />';
   ob_flush();
   flush();
   sleep(1);
}
?>


写法3:
output_buffering = off
implicit_flush=off
<?php
ob_start();
for($i=0;$i<10;$i++) {
   echo $i.'<br />';
   ob_flush();
   flush();
   sleep(1);
}
?>


写法4:
output_buffering = on
implicit_flush=off
<?php
ob_end_flush();
for($i=0;$i<10;$i++) {
   echo $i.'<br />';
   flush();
   sleep(1);
}
?>


写法5:
output_buffering = on
implicit_flush=off
<?php
ob_end_clean();
for($i=0;$i<10;$i++) {
   echo $i.'<br />';
   flush();
   sleep(1);
}
?>


写法6:
output_buffering = on;
implicit_flush=on
<?php
ob_end_clean();
//或者ob_end_flush();
for($i=0;$i<10;$i++) {
   echo $i.'<br />';
   sleep(1);
}
?>


写法7:
output_buffering = on;
implicit_flush=on
<?php
ob_end_clean();
//或者ob_end_flush();
for($i=0;$i<10;$i++) {
   echo $i.'<br />';
   flush();
   sleep(1);
}
?>


写法8:
output_buffering = off
implicit_flush=on
<?php
for($i=0;$i<10;$i++) {
   echo $i.'<br />';
   sleep(1);
}
?>


本博客文章非特别注明均属原创,如需转载请保留本博客地址:http://dao.daimaku.com
1 2 3 共有3页
匿名 在 2010-06-18 07:06:08 留言说:
这是IE下输出长度不够,字符串够长才输出。
回复:呵呵,忘记写了,IE的最小缓存我也考虑了的,但满足IE需要的最小缓存,还是存在有时可用有时不可用的情况
匿名 在 2010-06-16 16:06:10 留言说:
写得不错,受教了
您的大名:
电子邮箱:
验证码: