zoukankan      html  css  js  c++  java
  • PHP之输出控制 ob_start(),ob_get_contents(),ob_end_clean()

    1.常用函数

      ob_start();#打开输出缓冲区

      ob_get_contents();#获取缓冲区内容

      ob_get_length();#获取缓冲区内容长度

      ob_clean();#清除之前的所有输出内容

      ob_end_clean();#清除缓冲区内容并且关闭缓冲区,和ob_clean()差不多吧,不太了解真正的区别,但是有人建议使用这个函数

      ob_flush();#冲刷出缓冲区内容,必须在此函数之前使用ob_get_contents()

      ob_get_clean();#实质上是ob_get_contents()和ob_end_clean()一起使用

    2.通常ob_start(),ob_get_contents(),ob_end_clean()一起使用

    <?php
    echo 'This is A';
    
    ob_end_clean();
    
    ob_start();
    
    echo 'This is B';
    
    $str = ob_get_contents();
    $len = ob_get_length();
    
    ob_end_clean();
    
    echo $str.PHP_EOL;
    echo 'The length of buffer is '.$len.PHP_EOL;

    3.使用ob_end_clean()时最好判断有没有缓存内容,否则会下面的错误

    1 <?php
    2 error_reporting(E_ALL);
    3 
    4 ob_end_clean();
    5 
    6 ob_end_clean();
    Notice: ob_end_clean(): failed to delete buffer. No buffer to delete in /Users/zongshuai/bhu/ceshi/ceshi.php on line 6

    解决办法 在ob_end_clean()前面先判断一下,例如 if(ob_get_length()) ob_end_clean(); 或者 if(ob_get_contents()) ob_end_clean();

  • 相关阅读:
    【笔记】xml文件读写
    创业唯一不需要的是金钱
    关于阻焊层和助焊层的理解
    UNIX net
    一种方便调试的打印语句宏定义
    C语言指针一种容易错误使用的方法
    文件操作
    MPEG文件格式
    指针在函数间传递实质
    如何查看静态库内容 Unix/Linux
  • 原文地址:https://www.cnblogs.com/xiaozong/p/5736038.html
Copyright © 2011-2022 走看看