buffer control

  • 作者:新网
  • 来源:新网
  • 2011-04-09 13:35:00

There are various kinds of buffer. buffer in PHP , in apache server , and in brower .There are something diferences. In PHP there are some function and option about buffer for example: ob_start().etc

 

There are various kinds of buffer. buffer in PHP , in apache server , and in brower .There are something diferences.

6 (18).jpg

In PHP there are some function and option about buffer for example: ob_start().etc.

Two option about buffer in php.ini is :

1. output_buffering: you can set it to on , off ,or int number .

2.implicit_flush: you can set it to on/off .when you set it on , then it will fllow a flush() behind echo .

The diference about flush() and ob_flush()

1.when you use flush(). it will immediately output the buffer cached in the server (for example: apache server);

2.And use ob_flush(), it will immediately output the buffer cached in PHP.

3.You should use ob_flush() first, The PHP buffer will output to server cache ,but it havn't output to brower already , The use flush() , It will output to brower.

A example just like something below :

output a number every second:


ob_start() //start buffer for ($i = 0;$i<10;$i++){     echo "$i<br />";     ob_flush(); //flush buffer     flush(); //then flush server buffer     sleep(); //sleep servel seconds }

but if you use browser to access this code . it usually don't output variable immediately , then we can add more space let the output bigger than 4096bytes :

 

 

ob_start() //start buffer for ($i = 0;$i<10;$i++){ echo str_repeat(' ',4096);//output 4096 space to let the brower output the $i immediately     echo "$i<br />";     ob_flush(); //flush buffer     flush(); //then flush server buffer     sleep(); //sleep servel seconds }
 

 

免责声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,也不承认相关法律责任。如果您发现本社区中有涉嫌抄袭的内容,请发送邮件至:operations@xinnet.com进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

相关文章

免费咨询获取折扣