概述
本篇文章给大家介绍一下ob_flush和flush的区别。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
ob_flush/flush在手册中的描述, 都是刷新输出缓冲区, 并且还需要配套使用, 所以会导致很多人迷惑…
其实, 他们俩的操作对象不同, 有些情况下, flush根本不做什么事情..
ob_*系列函数, 是操作PHP本身的输出缓冲区.
所以, ob_flush是刷新PHP自身的缓冲区.
而flush, 严格来讲, 这个只有在PHP做为apache的Module(handler或者filter)安装的时候, 才有实际作用. 它是刷新WebServer(可以认为特指apache)的缓冲区.
在apache module
的sapi
下, flush
会通过调用sapi_module
的flush
成员函数指针, 间接的调用apache
的api: ap_rflush
刷新apache
的输出缓冲区, 当然手册中也说了, 有一些apache的其他模块, 可能会改变这个动作的结果..
所以, 正确使用俩者的顺序是. 先ob_flush, 然后flush,
当然, 在其他sapi下, 不调用flush也可以, 只不过为了保证你代码的可移植性, 建议配套使用.
推荐:PHP视频教程
以上就是理解PHP中ob_flush和flush的区别的详细内容,更多请关注靠谱客其它相关文章!
最后
以上就是悦耳毛巾为你收集整理的理解PHP中ob_flush和flush的区别的全部内容,希望文章能够帮你解决理解PHP中ob_flush和flush的区别所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复