将包含的输出保存到字符串中?

Ste*_*eve 6 php

可能重复:
在PHP中的变量中存储回显的字符串

假设我有

<?php include "print-stuff.php"; ?>

print-stuff.php包含PHP/HTML模板,这意味着当包含它时,HTML会被打印出来.有没有办法将HTML作为字符串捕获,以便我可以将其保存到其他地方使用?

将include语句移动到别处不是一个选项,因为print-stuff.php还执行周围代码所依赖的逻辑(创建/修改变量).我只想移动文件的输出,同时保持其逻辑原样.

Tyl*_*ter 30

您可以输出缓冲区以确保HTML未显示,而是放入变量中.(PHP仍将运行,但HTML输出将包含在变量中)

ob_start();
include "print-stuff.php";
$contents = ob_get_contents();
ob_end_clean();
Run Code Online (Sandbox Code Playgroud)

....


kar*_*m79 -6

$fileStr = file_get_contents('/path/not/url/to/script.php');
Run Code Online (Sandbox Code Playgroud)

  • -1 这个答案真的错了吗?不是直接加载源码就可以了吗?至少要获得输出,而不是源,它应该是`/url/not/path/to/script.php`。但即便如此,问题表明这需要一些先决条件,而“url”解决方案无法处理这些先决条件。 (3认同)