PHP将文件输出连接到字符串


PHP Concatenate file output to string

我正在重写一段程序,将其从在整个脚本中使用"echos"更改为使用Heredocs创建一个大的输出变量,该变量在文件末尾输出。

脚本的一部分包括另一个PHP文件,该文件直接输出HTML,并在其输出的HTML中包含PHP逻辑。该文件由整个程序中尚未被重写的其他部分(由于时间限制)使用。

是否可以将另一个文件的输出附加到$output变量中?我试过这样做,但它不工作的字符串追加:

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

file_get_contents直接在HTML中编写了所有PHP逻辑,正如我所怀疑的那样,直接的'include'也会像我所期望的那样返回HTML。

是否有一种方法可以获得文件的输出缓冲区并附加到字符串上?

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

我觉得自己很蠢。我在发帖5分钟后找到了答案,我完全忘记了ob_buffering:

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