我正在重写一段程序,将其从在整个脚本中使用"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();