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


    本篇文章是对PHP中ob_start()函数的用法进行了详细的分析介绍,需要的朋友参考下
     
     

    ob_start()函数用于打开缓冲区,比如header()函数之前如果就有输出,包括回车/空格/换行/都会有"Header had all ready send by"的错误,这时可以先用ob_start()打开缓冲区PHP代码的数据块和echo()输出都会进入缓冲区而不会立刻输出.当然打开缓冲区的作用很多,只要发挥你的想象.可以总结以下四点:

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

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

    4.输出代码
    Function run_code($code) { 
    If($code) { 
    ob_start(); 
    eval($code); 
    $contents = ob_get_contents(); 
    ob_end_clean(); 
    }else { 
    echo "错误!没有输出"; 
    exit(); 

    return $contents; 
    }

  • 相关阅读:
    页面跳转时,统计数据丢失问题探讨
    JSBridge 知识点
    数据埋点 知识点
    ES6 模块与 CommonJS 模块的差异
    koa 学习资料
    浏览器渲染流程
    Object.create() 的含义:从一个实例对象,生成另一个实例对象
    this、new,容易混淆的地方
    为什么js 的constructor中是无限循环嵌套:Foo.__proto__.constructor.prototype.constructor.prototype.constructor.prototype.xxx ?
    实例对象与 new 命令
  • 原文地址:https://www.cnblogs.com/wanshutao/p/4571277.html
Copyright © 2020-2023  润新知