ob_end_clean() - php 输出缓冲函数
ob_end_clean()
(PHP 4, PHP 5, PHP 7)
清空(擦除)缓冲区并关闭输出缓冲
说明
ob_end_clean(void): bool此函数丢弃最顶层输出缓冲区的内容并关闭这个缓冲区。如果想要进一步处理缓冲区的内容,必须在ob_end_clean()之前调用ob_get_contents(),因为当调用ob_end_clean()时缓冲区内容将被丢弃。
返回值
成功时返回TRUE
,或者在失败时返回FALSE
。错误的原因首先是,在调用时没有一个起作用的缓冲区,或者是因为某些原因缓冲区不能被删除(可能对特殊缓冲区而言)。
错误/异常
如果函数失败了,将引发一个E_NOTICE
异常。
更新日志
版本 | 说明 |
---|---|
4.2.0 | 添加了布尔返回值。 |
范例
下面的例子给出了一种去除所有输出缓冲区的方法:
Example #1ob_end_clean()example
参见
ob_start()
打开输出控制缓冲ob_get_contents()
返回输出缓冲区的内容ob_flush()
冲刷出(送出)输出缓冲区中的内容
Note that if you started called ob_start with a callback, that callback will still be called even if you discard the OB with ob_end_clean. Because there is no way of removing the callback from the OB once you've set it, the only way to stop the callback function from having any effect is to do something like:
Take note that if you change zlib output compression setting in between ob_start and ob_end_clean or ob_end_flush, you will get an error: ob_end_flush() failed to delete buffer zlib output compression Example: ob_end_clean(); in this example will throw the error.
Notice that ob_end_clean() does discard headers. If you would like to clear the output buffer, but not the headers (because you use firephp for example...), than this is the solution: I use it in a general exception handler in a web application, where I clear the buffer (but not the debug-info-containing headers), and send a 500 error page with readfile(). Good PHPing, Tamas.
About the previous comment: You can also relay on ETag and simply use time()
内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)