码迷,mamicode.com
首页 > Web开发 > 详细

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

时间:2016-08-04 11:41:41      阅读:166      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!