The Ob_start () function is typically added to your code when you need to use an output buffer.
This is because when output_buffering is set to off in php.ini, the buffer is closed and the buffer needs to be opened with Ob_start (). If Output_buffering is on, writing Ob_start () will have no effect, just to prevent output_buffering from being turned on for insurance purposes.
Instance code:
<?PHPOb_start();//Open Buffer Echo"This is the first time the output content!\n"; $a[1] =ob_get_contents() ;//gets the current buffer contents Ob_flush();//Buffer Removal Echo"This is the second time the output content!\n"; $a[2] =ob_get_contents() ;//gets the current buffer contents Echo"This is the third output content!\n"; $a[3] =ob_get_contents() ;//gets the current buffer contents Echo"<pre>"; Print_r($a);
// Output Results This is the first time the content is output! This is the second time the output content! This is the third time the output content! Array ( [1] = = This is the first time the content is output! ) [2] = = This is the second time the output content! [3] = = This is the second output content! This is the third output! )
Introduction of related functions:
1, Flush: Flush the contents of the buffer, output.
function format: Flush ()
Description: This function is often used and is highly efficient.
2. Ob_start: Open Output buffer
function format: void Ob_start (void)
Note: When the buffer is active, all non-file header information from the PHP program is not sent, but is saved in the internal buffer. In order to output the contents of the buffer, you can use the contents of the Ob_end_flush () or flush () output buffers.
3. Ob_get_contents: Returns the contents of the internal buffer.
How to use: String ob_get_contents (void)
Description: This function returns the contents of the current buffer and returns FALSE if the output buffer is not activated.
4. Ob_get_length: Returns the length of the internal buffer.
How to use: int ob_get_length (void)
Note: This function returns the length of the current buffer, as with ob_get_contents, if the output buffer is not activated. FALSE is returned.
5. Ob_end_flush: Sends the contents of the internal buffer to the browser, and closes the output buffer.
How to use: void Ob_end_flush (void)
Description: This function sends the contents of the output buffer (if any).
6. Ob_end_clean: Delete the contents of the internal buffer and close the internal buffer
How to use: void Ob_end_clean (void)
Description: This function does not output the contents of the internal buffer but deletes it!
7. Ob_implicit_flush: Turn absolute refresh on or off
How to use: void Ob_implicit_flush ([int flag])
Description: People who have used Perl know the meaning of $|=x, this string can open/close the buffer, and the Ob_implicit_flush function is the same, the default is to close the buffer, open the absolute output, each script output is sent directly to the browser, no longer need to call flush ()
Understanding PHP Output Buffer