>  기사  >  백엔드 개발  >  OutputBuffer输出缓冲函数的妙用_PHP教程

OutputBuffer输出缓冲函数的妙用_PHP教程

WBOY
WBOY원래의
2016-07-13 17:30:001387검색

在PHP编程中, 我们经常会遇到一些直接产生输出的函数, 如passthru(),readfile(), var_dump() 等. 但有时我们想把这些函数的输出导入到文件中,或者先经过处理再输出, 或者把这些函数的输出作为字符串来处理. 这时我们就要用到 Output Buffer(输出缓冲) 函数了. 处理输出缓冲的函数主要有这么几个: ob_start() 开始输出缓冲, 这时PHP停止输出, 在这以后的输出都被转到一个内部的缓冲里. ob_get_contents() 这个函数返回内部缓冲的内容. 这就等于把这些输出都变成了字符串. ob_get_ length() 返回内部缓冲的长度. ob_end_flush() 结束输出缓冲, 并输出缓冲里的内容. 在这以后的输出都是正常输出. ob_end_clean() 结束输出缓冲, 并扔掉缓冲里的内容. 举个例子, var_dump()函数输出一个变量的结构和内容, 这在调试的时候很有用. 但如果变量的内容里有 等HTML的特殊字符, 输出到网页里就看不见了. 怎么办呢? 用输出缓冲函数能很容易的解决这个问题. ob_start(); var_dump($var); $out = ob_get_contents(); ob_end_clean(); 这时var_dump()的输出已经存在 $out 里了. 你可以现在就输出: echo
. htmlspecialchars($out) .
; 或者等到将来, 再或者把这个字符串送到模板(Template)里再输出.

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/531649.htmlTechArticle在PHP编程中, 我们经常会遇到一些直接产生输出的函数, 如passthru(),readfile(), var_dump() 等. 但有时我们想把这些函数的输出导入到文件中,或者...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.