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的其余模块, 可能会扭转这个举措的后果..
有些Apache的模块,比方mod_gzip,可能本人进行输入缓存,这将招致flush()函数孕育发生的后果没有会立刻被发送到客户端阅读器。
乃至阅读器也会正在显示以前,缓存接纳到的内容。例如 Netscape阅读器会正在承受到换行或 html 标志的扫尾以前缓存内容,而且正在承受到 </table> 标志以前,没有会显示出整个表格。
一些版本的 Microsoft Internet Explorer 只有当承受到的256个字节当前才开端显示该页面,以是必需发送一些额定的空格来让这些阅读器显示页面内容。
以是, 正确应用俩者的程序是. 先ob_flush, 而后flush,
当然, 正在其余sapi下, 没有挪用flush也能够, 只不外为了保障你代码的可移植性, 倡议配套应用.
本文转载自:https://blog.csdn.net/qq_28602957/article/details/66973431
保举:PHP视频教程
以上就是了解PHP中ob_flush以及flush的区分的具体内容,更多请存眷资源魔其它相干文章!
标签: php php开发教程 php开发资料 php开发自学 ob_flush flush
抱歉,评论功能暂时关闭!