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

时间:2012-03-07 06:10:37

标签: php variables include

  

可能重复:
  Capture STDOUT from included file to variable

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

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


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

3 个答案:

答案 0 :(得分:6)

ob_start();
include "your_script.php";
$content = ob_get_clean();

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

$content = file_get_contents('http://your_server/script.php');

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

ob_start();
virtual("/webpath_from_server_root/your_script.php");
$content = ob_get_clean();

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

答案 1 :(得分:1)

ob_start();
include_once("your script");    
$result = ob_get_contents();
ob_end_clean();

// now $result has anything that was output from the inclusion of "your script"

答案 2 :(得分:0)

查看输出控制功能@PHP link

<?php
  ob_start();
  include( 'yourscript.php' );
  $cache= ob_get_contents();
  ob_end_clean();
?>