Home  >  Article  >  Backend Development  >  PHP中ob_start() ob_end_flush()的作用

PHP中ob_start() ob_end_flush()的作用

WBOY
WBOYOriginal
2016-06-20 13:02:591449browse

ob_start() ob_end_flush()的作用

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()


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn