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