关于 output_buffering 一些疑义
程序员文章站
2022-05-04 09:53:05
...
关于 output_buffering 一些疑问
我在网上看到 这么篇文件
http://www.cnblogs.com/zemliu/archive/2012/05/11/2495293.html
上面说
PHP的输出顺序
1.打开了php输出缓存: echo,print -> php output_buffring -> server buffering -> browser buffering -> browser display
2.未打开php输出缓存: echo,print -> server buffering -> browser buffering -> browser display
这个是对的吗?????
还有
ob_flush()函数: 取出PHP buffering中的数据,放入server buffering
flush()函数: 取出Server buffering的数据,放入browser buffering
所以要强制把缓冲区的东西输出的时候,先写ob_flush() 在写 flush()
是这样吗
------解决方案--------------------
对的,是这样的
不过对于 ob_flush() 和 flush() 谁先谁后,要取决于的控制需要
echo 'a';
ob_flush();
flush();
sleep(1);
和
echo 'a';
flush();
ob_flush();
sleep(1);
的区别在于,前者立刻就看到 a,而后者要等一秒才看到
我在网上看到 这么篇文件
http://www.cnblogs.com/zemliu/archive/2012/05/11/2495293.html
上面说
PHP的输出顺序
1.打开了php输出缓存: echo,print -> php output_buffring -> server buffering -> browser buffering -> browser display
2.未打开php输出缓存: echo,print -> server buffering -> browser buffering -> browser display
这个是对的吗?????
还有
ob_flush()函数: 取出PHP buffering中的数据,放入server buffering
flush()函数: 取出Server buffering的数据,放入browser buffering
所以要强制把缓冲区的东西输出的时候,先写ob_flush() 在写 flush()
是这样吗
------解决方案--------------------
对的,是这样的
不过对于 ob_flush() 和 flush() 谁先谁后,要取决于的控制需要
echo 'a';
ob_flush();
flush();
sleep(1);
和
echo 'a';
flush();
ob_flush();
sleep(1);
的区别在于,前者立刻就看到 a,而后者要等一秒才看到
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论