欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

缓冲区问题求救

程序员文章站 2022-05-22 21:25:42
...
php中ob是关闭的,我想问下在关闭的情况下,一个echo是经过php缓冲区到系统服务器缓冲区到浏览器缓冲区的。如果是开启了过程是怎样的?还是我理解错了?

回复内容:

php中ob是关闭的,我想问下在关闭的情况下,一个echo是经过php缓冲区到系统服务器缓冲区到浏览器缓冲区的。如果是开启了过程是怎样的?还是我理解错了?

ob指的是输出控制,并不是指缓冲,打开ob后,你就可以控制php中输出的内容何时发送给浏览器了。
给你举个例子:

不开obecho '1' -> send '1' to browser -> echo '2' -> send '2' to browser

obecho '1' -> do nothing -> echo '2' -> do nothing -> flush -> send '12' to browser

开启ob,下列程序会有一条条输出特效

";    //输出内容
    echo str_pad('',1025);    //输出生成的字符串,如果字符串过短不会有效果。

    ob_flush();       //发送缓冲区数据
    flush();        //刷新缓冲区
    sleep(1);       //暂停1秒
}
echo "done.";       //输出操作完成标记
ob_end_flush();       //发送缓冲区数据,并关闭缓冲区
?>
相关标签: php