ob_get_level() - php 输出缓冲函数
ob_get_level()
(PHP 4 >= 4.2.0, PHP 5, PHP 7)
返回输出缓冲机制的嵌套级别
说明
ob_get_level(void): int返回输出缓冲机制的嵌套级别。
返回值
返回嵌套的输出缓冲处理程序的级别;或者是,如果输出缓冲区不起作用,返回零。
参见
ob_start()
打开输出控制缓冲ob_get_contents()
返回输出缓冲区的内容
For users confused about getting "1" as a return value from ob_get_level at the beginning of a script: this likely means the PHP ini directive "output_buffering" is not set to off / 0. PHP automatically starts output buffering for all your scripts if this directive is not off (which acts as if you called ob_start on the first line of your script). If your scripts may end up on any server and you don't want end-users to have to configure their INI, you can use the following at the start of your script to stop output buffering if it's already started: Alternatively, you can use the opposite if you always want to have an output buffer at the start of your script:
This can be used to handle exceptions properly when using output buffering for rendering a view which may or may not be using output buffering Paolo
It was noted that ob_get_level() reports 1 prior to starting buffering, and in php 5.3.6-13 I can confirm this: It seems an internal counter for the output buffering needs to be initialized. To start things off properly, this appears to do:
Sometimes, ob_get_level() may be off by 1 because at the start of the script, it will return 1 even if ob_start() has never been called (and clearing the output buffer via ob_end_clean() and the like can be done without error). As a result, the first ob_start() will have an ob_get_level() of 2, the second will be 3, and so on. I'm not sure if this is a PHP 5 thing or [if it's related to when a] server is set to gzip all html documents. Also, up until at least PHP 5.0.4 (current version), ob_get_level() will always return 0 inside a destructor. This happens because the garbage collection for output buffers has already done before the destructor is called. If you want to do something with the output buffer from within an object before the script exits, using a callback function with ob_start() is the way to go.
鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com
免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)
图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)