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;  
}    

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/20408.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论