Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将包含的PHP脚本的结果保存为变量_Php_Variables_Include - Fatal编程技术网

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

将包含的PHP脚本的结果保存为变量,php,variables,include,Php,Variables,Include,可能重复: 好吧,也许这句话并没有说得那么好 这就是我想做的:我想将一个已执行PHP文件的源代码包含到另一个PHP文件中,以便可以对其进行操作和重用。结果输出需要包含几个$_GET变量的值,要包含的PHP文件的执行取决于它们的值。因此,我需要将“index.php?page=1&id=1&etc=something”这样的文件的结果源代码(当您在浏览器中转到“查看源代码”时会看到)包含到另一个php文件中。。。有什么想法吗 有没有办法包含一个PHP文件,然后将该文件的执行结果保存到包含该文件

可能重复:

好吧,也许这句话并没有说得那么好

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


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

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作为模块)


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

请查看输出控制函数@php

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"


你能提供一个你想要达到的目标的例子吗?使用Downvoted作为一个令人厌烦的重复,因为没有首先进行搜索,并且没有正确地描述问题,根据下面的评论,这个问题是为了捕获包含文件的输出。责怪谷歌没有在这个网站或任何其他网站上找到任何有用的东西。下次我会直接在这里搜索。冷静点。我想这不是谷歌,而是某人的搜索技能……非常出色,谢谢+1000000(如果我可以的话)因为没有在
include
中使用括号实际上。。。虽然这对名为'index.php'的文件非常有用,但如果我附加了任何内容(例如'index.php?page=1&id=1',则include、virtual和file\u get\u contents都不能成功包含结果输出。。。有什么想法吗?@Phil。。。因为include是一种语言结构而不是函数?这是我最好的外行猜测,关于你为什么会如此慷慨地进行投票:)@MattPayne
任何添加GET参数的操作都应该适用于
virtual
file\u GET\u contents
。对于
include
,您必须在脚本中“定义”这些变量。比如
$\u GET['page']=1等,然后再包含
include
与服务器的文件系统配合使用,并且“不知道”您试图传输参数的方式中的参数。
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"
<?php
  ob_start();
  include( 'yourscript.php' );
  $cache= ob_get_contents();
  ob_end_clean();
?>