zoukankan      html  css  js  c++  java
  • PHP中的ob_start() 的使用

    1.在PHP编程中, 我们经常会遇到一些直接产生输出的函数, 如passthru(),readfile(), var_dump() 等. 但有时我们想把这些函数的输出导入到文件中,或者先经过处理再输出, 或者把这些函数的输出作为字符串来处理.
      这时我们就要用到 Output Buffer(输出缓冲) 函数了.

    处理输出缓冲的函数主要有这么几个:

    ob_start() 开始输出缓冲, 这时PHP停止输出, 在这以后的输出都被转到一个内部的缓冲里.

    ob_get_contents() 这个函数返回内部缓冲的内容. 这就等于把这些输出都变成了字符串.

    ob_get_ length() 返回内部缓冲的长度.

    ob_end_flush() 结束输出缓冲, 并输出缓冲里的内容. 在这以后的输出都是正常输出.

    ob_end_clean() 结束输出缓冲, 并扔掉缓冲里的内容.

    举个例子:

    define('ob_start',true);
    if(ob_start){
      echo '<p>start is ok</p>'.'<br>';
    }
    echo 'sunzhiyan'.'<br>';

    //var_dump($var);
    $out = ob_get_contents();
    ob_end_clean();

    ob_end_flush();
    echo '<pre>'.$out.'</pre>' ;

    这里我们只有通过最后的输出$out,才能能到前面的输出结果

    start is ok


    sunzhiyan

    这里值得注意的问题是,你的输出必须在缓冲结束后,才能够输出,在没有结束的情况下,你输出的时候,该输出只是再次的添加到输出缓冲里面而已,只有再次的用ob_get_contents()
    函数返回存入到输出缓冲里面的内容,才能得到需要输出的值
  • 相关阅读:
    JUnit4.13环境配置
    OO第5-7次作业总结
    电梯的一点浅优化
    C++变量作用域、生存期、存储类别
    最后一次OO博客
    OO第三次总结
    OO第二次总结
    OO第一次总结
    POJ3934
    POJ刷题计划
  • 原文地址:https://www.cnblogs.com/sunxun/p/3753217.html
Copyright © 2011-2022 走看看