一旦我用ob_start()
开始输出缓冲,我想在一个命令中停止输出缓冲并获取其内容(不将其发送到输出)。 I reviewed the available functions,我对每项功能的理解如下:
clear return send stop
ob_clean x
ob_end_clean x x
ob_end_flush x x
ob_flush x
ob_get_clean x x x // should be called ob_get_end_clean
ob_get_contents x
ob_get_flush x x
据我所见,没有一个函数在停止缓冲后返回输出,所以当我想捕获函数的输出时,我必须分三步完成:
$output = ob_get_contents();
ob_end_clean();
return $output;
我是否遗漏了某些内容,或者是否有命令停止并一次性返回输出缓冲区?
答案 0 :(得分:2)
用the manual说出来:
ob_get_clean()
基本上同时执行ob_get_contents()
和ob_end_clean()
。
(由我突出)。与您的代码比较:
$output = ob_get_contents();
ob_end_clean();
您的商家信息一定错过了。
答案 1 :(得分:1)
这应该是一个,它甚至在描述中提到它:)