ob_start()

Posted 逆水行舟,不进则退

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ob_start()相关的知识,希望对你有一定的参考价值。

ob_start()函数用于打开缓冲区

1.用于header()之前

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

用ob_start()打开缓冲区PHP代码的数据块和echo()输出都会进入缓冲区而不会立刻输出

2.phpinfo()函数可获取客户端和服务器端的信息,但要保存客户端信息可以用缓冲区的方法
 

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.静态页面技术

php页面生成html文件

<?php
  ob_start();
  if(@readfile($tem_path)){     //把指定路径中的文件内容写入缓存中。如果不存在返回false
       $content= ob_get_contents(); //得到缓存中的内容
      $fp = fopen("1.html", "w"); //创建一个文件,并打开,准备写入 
      fwrite($fp, $content); //把php页面的内容全部写入1.html
  }
   fclose($fp);
  ob_clean();
?>

 

4.输出代码

$code = "echo ‘aa‘;echo ‘<hr>‘;";
$rs = run_code($code);
echo $rs;
function run_code($code) { 
    if($code) { 
        ob_start(); 
        eval($code); 
        $contents = ob_get_contents(); 
        ob_end_clean(); 
    }else { 
        echo "错误!没有输出"; 
        exit(); 
    }
    return $contents; 
}    

 

以上是关于ob_start()的主要内容,如果未能解决你的问题,请参考以下文章

解析PHP中ob_start()函数的用法

PHP中的ob_start用法详解

php中ob_start()有啥用?

如何使用 ob_start 追加到文件

转PHP ob_start() 函数介绍

ob_start心得