当前位置:知识百科 > 正文

简单谈谈php中ob_PHP简单吗

更新时间:2025-01-10 17:00 阅读量:135

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();清空缓冲区.不然前面有文字输出的话,后面在输出图像 就无法输出了

以上就是禧多小常识小编为大家整理的简单谈谈php中ob相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!