The ob_start() function is used to open the buffer. For example, if there is output before the header() function, including carriage returns, spaces, and line breaks, there will be an error of "Header had all ready send by". In this case, you can use it first ob_start() opens the buffer. The data block of PHP code and echo() output will enter the buffer and will not be output immediately. Of course, opening the buffer has many functions, just use your imagination. The following four points can be summarized:
1 .Used before header()
ob_start(); //Open the buffer
echo "Hellon"; //Output
header("location:index.php"); //Reset the browser Directed to index.php
ob_end_flush();//Output all content to the browser
?>
2. The phpinfo() function can obtain client and server information, but the client information must be saved Using the buffer method is the best choice.
ob_start(); //Open the buffer
phpinfo(); //Use the phpinfo function
$info=ob_get_contents(); //Get the buffer content and assigned to $info
$file=fopen('info.txt','w'); //Open the file info.txt
fwrite($file,$info); //Write information to info.txt
fclose($file); //Close the file info.txt
?>
3. Static page technology
ob_start(); //Open the buffer
? >
All output of the php page
$content = ob_get_contents();//Get all the content output of the php page
$fp = fopen("output00001.html", "w"); // Create a file, open it, and prepare to write
fwrite($fp, $content); //Write all the contents of the php page to output00001.html, and then...
fclose($fp);
?>
4. Output code
Function run_code($code) {
If($code) {
ob_start();
eval($code);
$ contents = ob_get_contents();
ob_end_clean();
}else {
echo "Error! No output";
exit();
}
return $contents;
}