可以透過將其中一個 緩衝區控制旗標 傳遞給 ob_start() 的第三個 flags
參數來控制緩衝區允許的操作。如果省略,則預設允許所有操作。如果改用 0
,則緩衝區無法被清空、清除或移除,但仍然可以擷取其內容。
PHP_OUTPUT_HANDLER_CLEANABLE
允許 ob_clean() 清除緩衝區的內容。
即使沒有設定 PHP_OUTPUT_HANDLER_CLEANABLE
旗標,ob_end_clean() 或 ob_get_clean() 仍然可以清除緩衝區的內容。
PHP_OUTPUT_HANDLER_FLUSHABLE
允許 ob_flush() 刷新緩衝區的內容。
即使沒有設定 PHP_OUTPUT_HANDLER_FLUSHABLE
旗標,ob_end_flush() 或 ob_get_flush() 仍然可以刷新緩衝區的內容。
PHP_OUTPUT_HANDLER_REMOVABLE
允許 ob_end_clean()、ob_end_flush()、ob_get_clean() 或 ob_get_flush() 關閉緩衝區。
PHP_OUTPUT_HANDLER_STDFLAGS
,這三個旗標的組合將允許對緩衝區執行上述三種操作。