Skip to content

PHP ob_get_flush() Function: Everything You Need to Know

As a PHP developer, you may need to retrieve the contents of the output buffer and flush it. The ob_get_flush() function is a built-in PHP function that performs both actions in a single call. In this article, we will take an in-depth look at how it works and when to use it.

What is the ob_get_flush() Function?

The ob_get_flush() function is a PHP built-in function that retrieves the contents of the active output buffer and then closes (flushes) that buffer level.

How to Use the ob_get_flush() Function

Using the ob_get_flush() function is straightforward. Here is the syntax:

The PHP syntax of ob_get_flush() Function

php
ob_get_flush();

Here is an example of how to use it:

How to Use the ob_get_flush() Function?

php
<?php

ob_start();
echo "This will be buffered";
$output = ob_get_flush();

In this example, ob_start() initiates output buffering, and echo sends a message to the buffer. Calling ob_get_flush() returns the buffered string ('This will be buffered') and automatically closes the current output buffer level. The result is assigned to $output. If output buffering is not active when the function is called, it returns false instead of a string. Because the buffer is closed, you must call ob_start() again if you need to capture more output later. Choose ob_get_flush() over ob_end_flush() when you need to process, log, or modify the buffered content before it is sent to the browser.

Conclusion

The ob_get_flush() function is a useful tool for retrieving and flushing output buffer contents in your PHP web application. By understanding its syntax, return value, and buffer-closing behavior, you can manage output streams more effectively. For related tasks, consider ob_get_clean() if you want to discard the buffer contents, or ob_end_flush() if you only need to send the output without retrieving it as a string. We hope this article has been informative and useful in understanding ob_get_flush() in PHP.

Practice

What is the function of ob_get_flush() in PHP?

Dual-run preview — compare with live Symfony routes.