一个分享个人学习、开发经验的Blog,http://www.joyphper.net

ob_start() ob_end_flush()的作用

posted @ 2010-10-07 08:20 | 阅读:3972 | 评论:1 | 分类: PHP

  PHP4的新函数介绍-输出信息控制函数

  这些函数可以让你控制你的脚本输出的内容.可以用于许多不同的情况,特别是在你的脚本已经输出信息后需要发送文件头新的情况.输出控制函数不对使用header()或setcookie()发送的文件头信息产生影响,只对那些类似于echo()和PHP代码的数据块有作用.

  例1.控制输出

  ob_start();

  echo"Hello ";

  setcookie("cookiename","cookiedata");

  ob_end_flush();

  ?>

  在上面的例子中,使用echo()的输出内容将会保存在输出缓冲区中,直到调用了ob_end_flush().这样做有意义的地方是,调用setcookie()的内容被成功的存储在cookie里面而不会引起错误.(正常情况下,你不可以在有数据已经发送后再发送文件头信息到用户浏览器.)

  相关函数header()andsetcookie().

  函数列表

  flush?刷新输出缓冲区

  保存在输出缓冲区的内容会被发送到浏览器

  ob_start?打开输出缓冲区

  这样所有的输出信息不在直接发送到浏览器,而是保存在输出缓冲区里面

  ob_get_contents?返回输出缓冲区的内容

  如果你想以后处理输出的内容,可以调用这个函数保留一个备份

  ob_get_length?返回输出缓冲区的内容长度

  ob_end_flush?结束(发送)输出缓冲区的内容,关闭输出缓冲区

  ob_end_clean?删除(放弃)输出缓冲区的内容,关闭输出缓冲区

  如果你的程序发现输出内容有问题,可以放弃所有输出内容,可以防止泄漏某些秘密信息

  ob_implicit_flush?打开或关闭直接刷新

  打开后,每个脚本输出都直接发送到浏览器,不再需要调用flush()

文章来源:http://my.oschina.net/lubo/blog/8543

TAG: php学习 , ob_start() , ob_end_flush()

共有1条评论 发表评论>>

孤独求学人 发表于:2012-09-14 17:54
好东西要记得学习与分享!
点击换一张验证码