Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.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 通过HTTP包含_Php_Include_Require - Fatal编程技术网

Php 通过HTTP包含

Php 通过HTTP包含,php,include,require,Php,Include,Require,我可以信任另一台服务器上的一个文件,因为它是我自己的代码,其中有一个带有一些设置的数组 当我使用include_包含它一次并打印其中的变量时,我得到了一个未定义的变量 我还尝试从包含的文件中返回变量,并将其分配给脚本中的变量,如下所示: $var = include($url); 其中$url具有: $array = array(1,2,3); return $array; 当我打印($var)时,我只得到1。这是因为其他服务器将解析文件并返回结果,而不是实际的代码。您需要获取文件的实际内容

我可以信任另一台服务器上的一个文件,因为它是我自己的代码,其中有一个带有一些设置的数组

当我使用include_包含它一次并打印其中的变量时,我得到了一个未定义的变量

我还尝试从包含的文件中返回变量,并将其分配给脚本中的变量,如下所示:

$var = include($url);
其中$url具有:

$array = array(1,2,3); return $array;

当我打印($var)时,我只得到1。

这是因为其他服务器将解析文件并返回结果,而不是实际的代码。您需要获取文件的实际内容,只有在另一台服务器上禁用php或ftp才能获取文件的实际内容。 我建议将文件复制到您正在使用的服务器上,这样更安全、更容易


您试图获取的文件将返回,与您在web浏览器中访问的文件相同,因为远程web服务器将通过php引擎解析文件内容

这是因为其他服务器将解析文件并返回结果,而不是实际代码。您需要获取文件的实际内容,只有在另一台服务器上禁用php或ftp才能获取文件的实际内容。 我建议将文件复制到您正在使用的服务器上,这样更安全、更容易

您试图获取的文件将返回,与您在web浏览器中访问的文件相同,因为远程web服务器将通过php引擎解析文件内容

远程主机:

echo serialize($array);
本地主机:

$array = unserialize(file_get_contents($url));
远程主机:

echo serialize($array);
本地主机:

$array = unserialize(file_get_contents($url));

打开
错误报告(E_ALL)
看看这是否能解释它。@mario-它应该显示一些特别的东西吗?什么也没发生。是的,我的php中有allow_url_include。为什么不将数组设置到要包含的文件中?然后叫它?你一定有理由这么做。这就是我要问的Bodyloss是对的。Include()只查看脚本的输出。返回值不会跨服务器传输。您对$url所包含内容的描述无效。请打开
错误报告(E\u ALL)
看看这是否能解释它。@mario-它应该显示一些特别的东西吗?什么也没发生。是的,我的php中有allow_url_include。为什么不将数组设置到要包含的文件中?然后叫它?你一定有理由这么做。这就是我要问的Bodyloss是对的。Include()只查看脚本的输出。返回值不会跨服务器传输。您对$url所包含内容的描述无效。或者使用另一个未解释的扩展名(如.txt)或自己输出要执行的代码。否,如@fishfisk所述,您需要更改文件类型或通过执行include(*)输出要执行的代码另一台服务器上的脚本将输出文本,而不是php数组。因此,不,只需在.之间复制文件,或使用另一个未解释的扩展名(如.txt)或自己输出要执行的代码,会安全得多。不,正如@fishfisk所述,您需要更改文件类型或通过执行include(*)输出要执行的代码另一台服务器上的脚本将输出文本,而不是php数组。因此,不,只需将文件复制到其他位置会安全得多。我实际上无法做到这一点,因为它正在其他位置使用-我想我必须复制在当前服务器上创建文件的功能:/@hex4:任何制作第二个包装器脚本的工作都会太多?我实际上无法做到这一点,因为它正在其他位置使用-我想我已经做到了要复制在当前服务器上创建文件的功能:/@hex4:任何创建第二个包装器脚本的操作都会太费力吗?