>백엔드 개발 >PHP 튜토리얼 >PHP中ob_start() ob_end_flush()的作用

PHP中ob_start() ob_end_flush()的作用

WBOY
WBOY원래의
2016-06-20 13:02:591456검색

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


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.