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 将所有 PHP 逻辑直接写在 HTML 中,正如我所怀疑的那样,直接的 'include' 与 HTML 相呼应正如我所料。
是否有获取文件输出缓冲区并附加到字符串的方法?
编辑:别提这个问题了,我完全忘记了 OB_Buffering。在我的解决方案中添加了一个答案,不需要回答这个
我觉得自己很蠢。发帖5分钟就找到答案了,完全忘了ob_buffering:
ob_start();
include('./foo.php');
$output .= ob_get_contents();
ob_end_clean();
我正在重写一段程序,将其从在整个脚本中使用 "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。在我的解决方案中添加了一个答案,不需要回答这个
我觉得自己很蠢。发帖5分钟就找到答案了,完全忘了ob_buffering:
ob_start();
include('./foo.php');
$output .= ob_get_contents();
ob_end_clean();