php之ob_start()缓冲区

ob_get_contents()函数及与其相关几个函数的用法

ob_start()

ob_get_contents(); 获取缓冲区内容

ob_end_clean():删除内部缓冲区的内容,并且关闭内部缓冲区

ob_end_flush() 发送内部缓冲区的内容到浏览器,并且关闭输出缓冲区

ob_get_length() 返回内部缓冲区的长度。

Flush():刷新缓冲区的内容,输出。

 

ob_end_clean();

 

使用ob_start()把echo或print等输出的内容输至缓冲区,而不是到浏览器。

然后用ob_get_contents得到缓冲区的数据。

ob_start()在服务器打开一个缓冲区来保存所有的输出。所以在任何时候使用任意个echo 等输出,输出都将被加入缓冲区中,直到程序运行结束或者使用ob_flush()来结束。然后在服务器中缓冲区的内容才会发送到浏览器,由浏览器来解析显示。

 

函数ob_end_clean() 会清除缓冲区的内容.(并将缓冲区关闭,但不会输出内容。)

此时在使用ob_end_clean()之前使用函数ob_get_contents()来获得缓冲区的内容。

这样的话, 能将在执行ob_end_clean()前把内容保存到一个变量中,然后在ob_end_clean()后面对这个变量做操作。

1 <?php
2 ob_start();
3 echo ‘aaaa<br />‘; //保存至缓存区
4 $c = ‘ccc‘;
5 echo $c; //保存至缓存区 
6 $d = ob_get_contents();
7  //程序结束输出以上echo在缓存中的内容
8 ?>
1 <?php
2 ob_start();
3 $a = ‘aaaa<br />‘;
4 $b = ob_get_contents();
5 echo $b;
6  //程序结束没有任何输出,因为虽然开启了缓冲,但是缓冲区里没有被输出内容
7 ?>

php之ob_start()缓冲区,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。