详解PHP ob_start()函数的功能要点

开发 后端
PHP ob_start()函数是一个功能强大的函数,可以帮助我们处理许多问题,希望通过这篇文章的介绍,大家能够彻底掌握这一函数的用法。

PHP函数的运用范围非常广泛,我们可以在不断的实践中去体会这些函数给我们带来的好处。下面我们就来具体分析一下有关PHP ob_start()函数的功能特点。#t#

比如你用得到服务器和客户端的设置信息,但是这个信息会因为客户端的不同而不同,如果想要保存phpinfo()函数的输出怎么办呢?在没有缓冲区控制之前,可以说一点办法也没有,但是有了缓冲区的控制,我们可以轻松的解决:

  1. < ?php  
  2. ob_start(); //打开缓冲区  
  3. phpinfo(); //使用phpinfo函数  
  4. $info=ob_get_contents(); //得到缓冲区的内容并且赋值给$info  
  5. $file=fopen(’info.txt’,'w’); //打开文件info.txt  
  6. fwrite($file,$info); //写入信息到info.txt  
  7. fclose($file); //关闭文件info.txt  
  8. ?> 

 

用以上的方法,就可以把不同用户的phpinfo信息保存下来,这在以前恐怕没有办法办到!其实上面就是将一些“过程”转化为“函数”的方法!

或许有人会问:“难道就这个样子吗?还有没有其他用途?”当然有了,比如笔者论坛的PHP 语法加亮显示就和这个有关(PHP默认的语法加亮显示函数会直接输出,不能保存结果,如果在每次调用都显示恐怕会很浪费CPU,笔者的论坛就把语法加亮函数显示的结果用控制缓冲区的方法保留了)。

可能现在大家对PHP ob_start()函数的功能有了一定的了解,上面的一个例子看似简单,但实际上已经掌握了使用ob_start()的要点。

<1>.使用PHP ob_start()函数打开browser的cache,这样可以保证cache的内容在你调用flush(),ob_end_flush()(或程序执行完毕)之前不会被输出。

<2>.现在的你应该知道你所拥有的优势:可以在任何输出内容后面使用header,setcookie以及session,这是PHP ob_start()函数一个很大的特点;也可以使用ob_start的参数,在cache被写入后,然后自动运行命令,比如ob_start(”ob_gzhandler”);而我们最常用的做法是用ob_get_contents()得到cache中的内容,然后再进行处理……

<3>.当处理完毕后,我们可以使用各种方法输出,flush(),ob_end_flush(),以及等到程序执行完毕后的自动输出。当然,如果你用的是ob_get_contents(),那么就要你自己控制输出方式了。
 

责任编辑:曹凯 来源: seo-china.net
相关推荐

2009-11-25 14:06:53

PHP函数arsort

2009-12-01 14:26:19

PHP函数ob_sta

2009-11-26 13:50:11

PHP函数str_re

2009-11-25 17:48:18

PHP文件系统相关函数

2009-11-30 14:27:42

2009-12-01 15:14:32

PHP Substr库

2010-07-25 14:18:51

telnet服务

2010-05-31 09:19:53

PHP

2009-11-30 15:10:46

PHP substr函

2009-12-02 13:53:12

PHP使用技巧

2009-11-30 17:43:54

PHP split()

2009-11-30 17:49:51

PHP函数preg_s

2015-09-21 11:45:10

PHP编程效率要点

2011-06-28 13:12:07

Qt 调用 DLL DLL

2009-11-25 13:39:36

PHP函数sizeof

2009-12-02 20:09:45

PHP页面跳转函数

2009-12-07 15:56:46

PHP内置SOAP

2009-12-11 15:28:02

PHP安全防护

2009-12-07 10:54:46

PHP uploade

2009-11-26 13:52:07

PHP字符串替换函数s
点赞
收藏

51CTO技术栈公众号