+ -
当前位置:首页 → 问答吧 → ob_start和ob_get_clean()的用法

ob_start和ob_get_clean()的用法

时间:2010-08-10

来源:互联网

<?php
ob_start();
?>
<table border="1">
    <tr>
        <td>test1</td>
        <td>test2</td>
    </tr>
</table>
<?php
$out = ob_get_clean();
echo $out;
?>

这个输出的意义?跟直接输出有什么不同???

作者: kingarde   发布时间: 2010-08-10

作者: kingarde   发布时间: 2010-08-10

光看这个的话,的确是没有什么感觉,但是,如果加上一点:

<?php
ob_start();
$k = 12;
echo $k;
?>
<table border="1">
    <tr>
        <td>test1</td>
        <td>test2</td>
        <td>if($k==12){
                                header(Location: http://www.baidu.com);
                    }</td>
    </tr>
</table>
<?php
$out = ob_get_clean();
echo $out;
?>
这个时候,就会跳到百度,但是如果没有加   ob_start();    ,就会提示“在 header 前面已经有输入” 这样的错误!
我不知道你是不是这种情况,所以我就把这个大概的意思说了一下!

作者: borfee   发布时间: 2010-08-10

1-7月,全国房地产开发投资23865亿元,同比增长37.2%,其中,商品住宅投资16709亿元,同比增长34.5%,占房地产开发投资的比重为70.0%。7月当月,房地产开发完成投资4118亿元,同比增长33.0%。

1-7月,全国房地产开发企业房屋施工面积32.43亿平方米,同比增长29.4%;房屋新开工面积9.22亿平方米,同比增长67.7%;房屋竣工面积2.86亿平方米,同比增长12.6%,其中,住宅竣工面积2.31亿平方米,增长10.5%。

1-7月,全国房地产开发企业完成土地购置面积21747万平方米,同比增长33.3%,土地购置费5054亿元,同比增长88.2%。

作者: borfee   发布时间: 2010-08-10

其实那个上面的那个ob_start 是一个定义!!
定义什么呢??其实是定义下面的那个echo 不要将内容输出的到
浏览器上,而是将内容输出到了缓冲区!要想获取缓冲区的内容,
那么就要用到函数ob_get_contents()了,用这个函数可以获取存放在
缓冲区的内容!!
大致的意思就是这样!!

作者: binbin19891117   发布时间: 2010-08-10

不错,学习了,呵呵

作者: jiweitao   发布时间: 2010-08-14