php函数ob_start()、ob_end_clean()、ob_get_contents()

下面3个函数的用法

ob_get_contents() - 返回输出缓冲区的内容ob_flush() - 冲刷出(送出)输出缓冲区中的内容ob_clean() - 清空(擦掉)输出缓冲区ob_end_flush() - 冲刷出(送出)输出缓冲区内容并关闭缓冲ob_end_clean() - 清空(擦除)缓冲区并关闭输出缓冲flush() - 刷新输出缓冲    通常是ob_flush();flush()同时一起使用使用ob_start()把输出那同输出到缓冲区,而不是到浏览器。然后用ob_get_contents得到缓冲区的数据。

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

函数ob_end_clean 会清除缓冲区的内容,并将缓冲区关闭,但不会输出内容。此时得用一个函数ob_get_contents()在ob_end_clean()前面来获得缓冲区的内容。这样的话, 能将在执行ob_end_clean()前把内容保存到一个变量中,然后在ob_end_clean()后面对这个变量做操作。
时间: 2024-08-06 03:49:13

php函数ob_start()、ob_end_clean()、ob_get_contents()的相关文章

ob_start ob_end_clean的用法 fetch

今天突然明白了, ob_start  ob_end_clean 的用法ob_start();//缓存开始echo "lijianwei";$str=ob_get_contents();//获取缓存内容ob_end_clean();//清除缓存,否则会输出的,并关闭缓存echo $str;//最后程序会输出  lijianwei  今天有点明白像  smarty  中的fetch  及thinkphp中的fetch中都是这样 ob_start();//执行页面输出 $str=ob_get

ob_start、ob_get_contents使用

要善于ob_start.ob_get_contents使用, 比如需要ajax获取 请求页面的模板信息 这个时候用到就很便捷 ob_start(); $this->assign('config',$config[$viewkey]); $this->assign('viewkey',$viewkey); $this->assign('pageInfo',$pageInfo); $this->display(); $contents=ob_get_contents(); ob_end

php函数ob_start(),解决header输出头报错问题

ob_get_contents() - 返回输出缓冲区的内容 ob_flush() - 冲刷出(送出)输出缓冲区中的内容 ob_clean() - 清空(擦掉)输出缓冲区 ob_end_flush() - 冲刷出(送出)输出缓冲区内容并关闭缓冲 ob_end_clean() - 清空(擦除)缓冲区并关闭输出缓冲 flush() - 刷新输出缓冲 通常是ob_flush();flush()同时一起使用. ob_start()在服务器打开一个缓冲区来保存所有的输出. 实例: ob_start();

PHP页面静态化(转)

在很多地方都看到有PHP整站静态化的东东,怪唬人的..其实,你会静态化一个页面,那么别说整站了,想静态化多少都可以.所以关键是,首先要知道怎么静态化一个页面,了解静态化的原理是关键.. 这里就说下我个人的理解了. 首先,需要知道几个函数. ob_start(); ob_end_clean(); ob_get_contents(); file_put_contents();//这个可以用fopen,fwrite代替 file_exists();等函数. 不知道这些函数的就自己去翻手册,这里就不多讲

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

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

(转)PHP ob_start() 函数介绍

php ob_start 与 ob_end_flush() 是 php 的缓冲输出函数. ob_start([string output_callback])- 打开输出缓冲区,所有的输出信息不在直接发送到浏览器,而是保存在输出缓冲区里面,可选得回调函数用于处理输出结果信息. ob_end_flush - 结束(发送)输出缓冲区的内容,关闭输出缓冲区. php 输出东西,会保存在一个 php 维护的内存里,称为 buffer 也行,缓存也行,都是一个意思.然后当这个 buffer 满了,php

【转】PHP ob_start() 函数介绍

php ob_start 与 ob_end_flush() 是 php 的缓冲输出函数. ob_start([string output_callback])- 打开输出缓冲区,所有的输出信息不在直接发送到浏览器,而是保存在输出缓冲区里面,可选得回调函数用于处理输出结果信息. ob_end_flush - 结束(发送)输出缓冲区的内容,关闭输出缓冲区. php 输出东西,会保存在一个 php 维护的内存里,称为 buffer 也行,缓存也行,都是一个意思.然后当这个 buffer 满了,php

【转】php缓冲 output_buffering和ob_start

原文: http://blog.csdn.net/21aspnet/article/details/7389427 php缓冲 output_buffering和ob_start buffer buffer是一个内存地址空间,Linux系统默认大小一般为4096(4kb),即一个内存页.主要用于存储速度不同步的设备或者优先级不同的设备之间传办理数据的区域.通过buffer,可以使进程这间的相互等待变少.这里说一个通俗一点的例子,你打开文本编辑器编辑一个文件的时候,你每输入一个字符,操作系统并不会

PHP输出缓存ob系列函数详解

ob,输出缓冲区,是output buffering的简称,而不是output cache.ob用对了,是能对速度有一定的帮助,但是盲目的加上ob函数,只会增加CPU额外的负担 ob的基本原则:如果ob缓存打开,则echo的数据首先放在ob缓存.如果是header信息,直接放在程序缓存.当页面执行到最后,会把ob缓存的数据放到程序缓存,然后依次返回给浏览器.下面我说说ob的基本作用:  1)防止在浏览器有输出之后再使用setcookie().header()或session_start()等发送