Home  >  Article  >  Backend Development  >  Detailed explanation of the usage of php ob_start() cache function

Detailed explanation of the usage of php ob_start() cache function

WBOY
WBOYOriginal
2016-07-25 08:56:481058browse
This article introduces the usage of the function ob_start() used for cache control in PHP. Friends in need can refer to it.

In php, the ob_start() function is used to open the buffer. For example, if there is output before the header() function, including carriage return/space/line feed/, there will be an error of "Header had all ready send by".

At this time, you can first use ob_start() to open the buffer. The data block of the php code and the echo() output will enter the buffer and will not be output immediately.

There are four ways to open a buffer in php: 1. Used before header()

<?php
ob_start(); //打开缓冲区 
echo /"Hellon/"; //输出 
header("location:index.php"); //把浏览器重定向到index.php 
ob_end_flush();//输出全部内容到浏览器 
?>

2. The phpinfo() function can obtain client and server information and use a buffer to save client information.

<?php
ob_start(); //打开缓冲区 
phpinfo(); //使用phpinfo函数 
$info=ob_get_contents(); //得到缓冲区的内容并且赋值给$info 
$file=fopen(/'info.txt/',/'w/'); //打开文件info.txt 
fwrite($file,$info); //写入信息到info.txt 
fclose($file); //关闭文件info.txt 
?>

3. Static page technology

<?php
ob_start();//打开缓冲区 
 
//php页面的全部输出 
$content = ob_get_contents();//取得php页面输出的全部内容 
$fp = fopen("output00001.html", "w"); //创建一个文件,并打开,准备写入 
fwrite($fp, $content); //把php页面的内容全部写入output00001.html,然后…… 
fclose($fp); 
?> 

4, output code

<?php
Function run_code($code) { 
If($code) { 
   ob_start(); 
   eval($code); 
   $contents = ob_get_contents(); 
   ob_end_clean(); 
}else { 
   echo "错误!没有输出"; 
   exit(); 
} 
   return $contents; 
}


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn