buffer control

来源:互联网 发布:知豆电动汽车汽车之家 编辑:程序博客网 时间:2024/05/16 06:48

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.

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:


 

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 bufferfor ($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}


原创粉丝点击