# ob_end_flush

(PHP 4, PHP 5, PHP 7)

ob_end_flush — Flush (send) the output buffer and turn off output buffering

### Description

ob_end_flush ( void ) : bool

This function will send the contents of the topmost output buffer (if any) and turn this output buffer off. If you want to further process the buffer's contents you have to call ob_get_contents() before ob_end_flush() as the buffer contents are discarded after ob_end_flush() is called.

The output buffer must be started by ob_start() with PHP_OUTPUT_HANDLER_FLUSHABLE and PHP_OUTPUT_HANDLER_REMOVABLE flags. Otherwise ob_end_flush() will not work.

> Note: This function is similar to ob_get_flush(), except that ob_get_flush() returns the buffer as a string.

### Return Values

Returns `TRUE` on success or `FALSE` on failure. 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).

### Errors/Exceptions

If the function fails it generates an `E_NOTICE`.

### Examples

Example #1 ob_end_flush() example

The following example shows an easy way to flush and end all output buffers:

`<?php
while (@ob_end_flush());
?>`

### See Also

- ob_start() - Turn on output buffering
- ob_get_contents() - Return the contents of the output buffer
- ob_get_flush() - Flush the output buffer, return it as a string and turn off output buffering
- ob_flush() - Flush (send) the output buffer
- ob_end_clean() - Clean (erase) the output buffer and turn off output buffering