标签:
首先说到php.ini中的两个配置
output_buffering配置
•Off: 表示关闭PHP输出缓存
•On: 打开无限大的输出缓存
•4096: 打开大小为4096Byte的输出缓存(默认)
implicit_flush配置
•On: 表示每次输出(如echo,print)后自动调用flush()函数后,直接输出
•Off: 与On相反,每次输出后不会调用flush(),需要等到server buffering满了才会输出,但是我们可以用flush()函数代替它,不开启也没关系,反而更加灵活
在默认的output_buffering=4096和implicit_flush=off的情况下
已知chrome与firefox浏览器的输出缓存为1000Bytes 即只有超过1000Bytes的内容才会被输出
来看这一段程序
<?php for ($i = 9; $i > 0; $i--) { print str_repeat(‘ ‘, 122); echo $i . ‘<br />‘; ob_flush(); flush(); sleep(1); } ob_end_flush();
str_repeat(‘ ‘, 122)即将空格重复122次
为什么是122呢?
我们知道一个字节占8位 1000Bytes需要125个字符 想输出出来就要126个字符
一个32位数字占4个字符
126-4=122
标签:
原文地址:http://www.cnblogs.com/Bin-x/p/4565566.html