PHP连接文件输出到字符串

4
我正在重写一个程序的一部分,将其从整个脚本中使用"echos"转换为使用Heredocs创建一个大的输出变量,该变量在文件末尾输出。
脚本的一部分包括另一个PHP文件,直接输出HTML并在输出的HTML中具有php逻辑。其他未被重写的整个程序部分也使用此文件(由于时间限制)。
是否可以将另一个文件的输出附加到$output变量?我尝试过这样做,但对于字符串附加它不起作用:
$output .= include 'foo.php';

$output .= file_get_contents('foo.php');

file_get_contents函数直接将所有PHP逻辑写在HTML中,正如我所预料的那样,而纯粹的“include”则像我预期的那样输出了HTML。

有没有一种方法可以获取该文件的输出缓冲区,并将其附加到一个字符串中?

编辑:不用回答这个问题,我完全忘记了OB_Buffering。 我在答案中添加了我的解决方案。

1个回答

6

我感觉自己很蠢。发布问题后5分钟就找到了答案,原来是完全忘记了 ob_buffering:

ob_start();
include('./foo.php');
$output .= ob_get_contents();
ob_end_clean();

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接