将包含的PHP脚本的结果保存为变量

Mat*_*yne -1 php variables include

可能重复:
将包含文件中的STDOUT捕获到变量

好吧,也许这不是措辞,也可能是......

这就是我想要做的:我希望将执行的PHP文件的结果源代码包含到另一个PHP文件中,以便可以对其进行操作和重用.结果输出需要包含几个$ _GET变量的值,并且要包含的PHP文件的执行取决于它们的值.因此,我需要生成的源代码(当您在浏览器中转到"查看源代码"时看到的内容),例如:"index.php?page = 1&id = 1&etc = something"将被包含到另一个PHP文件中... 有什么想法吗?


有没有办法包含一个PHP文件,然后将该文件执行的结果保存到包含它的PHP文件中的变量中,以便进一步使用?提前致谢...

Che*_*ery 6

ob_start();
include "your_script.php";
$content = ob_get_clean();
Run Code Online (Sandbox Code Playgroud)

而已.但是应该没有定义调用脚本中已经定义的常量或函数.为了防止变量的变化,这段代码可能在函数体内,因此'your_script.php'中的变量将在该函数的局部范围内定义.另一种方法是执行http请求

$content = file_get_contents('http://your_server/script.php');
Run Code Online (Sandbox Code Playgroud)

甚至(如果你使用Apache和php作为模块)

ob_start();
virtual("/webpath_from_server_root/your_script.php");
$content = ob_get_clean();
Run Code Online (Sandbox Code Playgroud)

在这种情况下,'your_script.php'不会干扰主脚本的常量和函数.