您的位置:

简单谈谈php中ob,为什么使用php

本文目录一览:

php 中ob_start()是用来做什么的?有什么用啊?举个具体的例子

控制缓冲区

ob_start(); //开启缓冲

echo '输出内容'; // “输出内容”暂不会打印,而是放入缓冲。

然后可以通过其他的函数来处理缓冲区内容。例如

ob_get_contents获取缓冲区内容

ob_clean清空缓冲区

ob_end_clean清空缓冲区,同时关闭缓冲区。

等等。。。

php中“ ob_start()”有什么作用呢?

开启缓冲区,缓冲器清除。

一、Output Control

函数可以让你自由控制脚本中数据的输出。它非常地有用,特别是对于:当你想在数据已经输出后,再输出文件头的情况。输出控制函数不对使用

header() 或 setcookie(), 发送的文件头信息产生影响,只对那些类似于 echo() 和 PHP 代码的数据块有作用。

二、程序代码?phpob_start(); //打开缓冲区echo \"Hellon\"; //输header("location:index.php"); //把浏览器重定向到index.phpob_end_flush();//输出全部内容到浏览器?。

三、如果我们去掉第一行的ob_start(),再执行此程序,我们会发现得到了一条错误提示:"Header had all ready send

by"!但是加上ob_start,就不会提示出错,原因是当打开了缓冲区,echo后面的字符不会输出到浏览器,而是保留在服务器,直到你使用

flush或者ob_end_flush才会输出,所以并不会有任何文件头输出的错误。

四、当缓冲区激活时,所有来自PHP程序的非文件头信息均不会发送,而是保存在内部缓冲区。为了输出缓冲区的内容,可以使用ob_end_flush()或flush()输出缓冲区的内容。

五、使用过Perl的人都知道$|=x的意义,这个字符串可以打开/关闭缓冲区,而ob_implicit_flush函数也和那个一样,默认为关闭缓冲区,打开绝对输出后,每个脚本输出都直接发送到浏览器,不再需要调用 flush()。

六、用户在client端得到的是由PHP产生的html页面。如果这个html页面不会再被更新,那么当另外的用户再次浏览此页面时,程序将不会再调用PHP以及相关的数据库,对于某些信息量比较大的网站,例如sina,163,sohu。类似这种的技术带来的好处是非常巨大的。

php伪静态为什么用ob

因为OB函数是控制输出缓存的,伪静态里面有一种方法就是通过OB系列函数生成一个缓存的静态文件。根据URL进行include或require。

具体没有看到你的代码,只是说我知道的技术。

php中 为什么验证码 必须要开启 ob

ob_clean();清空缓冲区。不然前面有文字输出的话,后面在输出图像 就无法输出了