doumo2501 2013-10-03 02:14
浏览 20
已采纳

PHP:什么是特殊缓冲区?

Quote from http://php.net/ob_end_clean

Reasons for failure are first that you called the function without an active buffer or that for some reason a buffer could not be deleted (possible for special buffer)

What is this special buffer?

Right now, to clean all buffers, I have code like this

while (@ob_end_clean());

But if for some reason it should encounter a "special buffer" this would probably make an infinite loop.

  • 写回答

1条回答 默认 最新

  • douju1953 2013-10-03 02:46
    关注

    From the manual again http://php.net/manual/en/function.ob-start.php

    I think special buffers may refer to buffers created via ob_start() with specific parameters like chunk_size or erase.

    chunk_size

    If the optional parameter chunk_size is passed, the buffer will be flushed after any output call which causes the buffer's length to equal or exceed chunk_size. The default value 0 means that the output function will only be called when the output buffer is closed.

    erase

    If the optional parameter erase is set to FALSE, the buffer will not be deleted until the script finishes. This causes that flushing and cleaning functions would issue a notice and return FALSE if called.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?