php - 缓冲区问题求救
迷茫
迷茫 2017-04-10 17:15:43
[PHP讨论组]

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

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
怪我咯

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,下列程序会有一条条输出特效

<?php
if(ob_get_level()==0)      //判断缓冲区等级,如果没有活动缓冲区
ob_start();
for($i=0;$i<10;$i++)      //循环执行操作
{
    echo "$i:line to show.<br>";    //输出内容
    echo str_pad('',1025);    //输出生成的字符串,如果字符串过短不会有效果。

    ob_flush();       //发送缓冲区数据
    flush();        //刷新缓冲区
    sleep(1);       //暂停1秒
}
echo "done.";       //输出操作完成标记
ob_end_flush();       //发送缓冲区数据,并关闭缓冲区
?>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号