Home > Article > Backend Development > How to use the ob (Output Buffer output buffer) function in php_PHP tutorial
From: http://bbs.phome.net/ShowThread/?threadid=9247&forumid=2
In PHP programming, we often encounter some functions that directly generate output, such as passthru(), readfile(), var_dump () etc. But sometimes we want to import the output of these functions into a file, or process it first and then output it, or process the output of these functions as a string.
At this time we have to use Output Buffer( Output buffering) function.
There are mainly several functions that handle output buffering:
ob_start() starts output buffering. At this time, PHP stops outputting, and all subsequent outputs are transferred to an internal In the buffer.
ob_get_contents() This function returns the contents of the internal buffer. This is equivalent to turning these outputs into strings.
ob_get_ length() Returns the length of the internal buffer.
ob_end_flush() Ends the output buffer, and outputs the contents of the buffer. After this, the output is normal output.
ob_end_clean() Ends the output buffer, and discards the contents of the buffer. .
For example, the var_dump() function outputs the structure and content of a variable, which is very useful during debugging.
But if the content of the variable contains special HTML features such as <, > Characters are invisible when output to the web page. What should I do?
Using the output buffer function can easily solve this problem.
ob_start();
var_dump($var);
$out = ob_get_contents();
ob_end_clean();
At this time, the output of var_dump() already exists in $out . You can output it now:
echo '
' . htmlspecialchars($out) . '' ;