首页 > Web开发 > 详细

PHP之输出控制 ob_start(),ob_get_contents(),ob_end_clean()

时间:2016-08-04 11:40:52      阅读:265      评论:0      收藏:0      [点我收藏+]

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();

 

PHP之输出控制 ob_start(),ob_get_contents(),ob_end_clean()

原文:http://www.cnblogs.com/xiaozong/p/5736038.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!