PHP中ob_start()函数的说明和用法

岳小威子
2022-06-29 / 271 个字 / 0 评论 / 47 阅读 / 加载耗时:22ms / 正在检测是否收录...
温馨提示:
本文最后更新于2022年06月29日,已超过659天没有更新,若内容或图片失效,请留言反馈。

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

1. 用于header()之前

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

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

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

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

4. 输出代码

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

文章到这里就结束了

您在本文章已经停留了大概
喜欢的话就点个赞吧!或着请我喝个冰可乐,我就太感谢你了!


0
打赏
拜谢打赏(☆ω☆)

感谢老板,老板大气。。

评论 (0)

取消