在另一个PHP文件中包含一个PHP文件

时间:2012-11-09 10:52:30

标签: php

  

可能重复:
  including php file from another server with php

每个php程序员都知道php的include()函数用于在另一个php文件中包含一个php文件,但我想知道是否可以包含一个驻留在不同server.i.e中的php文件。假设我想在b.php中包含a.php,现在假设a.php和b.php驻留在不同的服务器中,在这种情况下是否可以在b.php中包含a.php?

5 个答案:

答案 0 :(得分:2)

来自the manual

  

如果在PHP中启用了“URL fopen wrappers(它们是默认配置),您可以使用网址指定要包含的文件 (通过HTTP或其他受支持的包装器 - 请参阅Supported Protocols and Wrappers以获取协议列表)而不是本地路径名。如果目标服务器将目标文件解释为PHP代码,则可以使用与HTTP GET一起使用的URL请求字符串将变量传递给包含的文件。 严格来说,这并不包括文件并使其继承父文件的变量范围;该脚本实际上正在远程服务器上运行,然后结果将包含在本地脚本中。

凭借60.2k代表赋予我的权力,我建议你不要这样做。

答案 1 :(得分:2)

我认为你从错误的角度看待它。大多数情况下,您不希望合并来自不同服务器的PHP文件 - 为此,您使用其他技术来做到这一点。

如果您想要包含来自其他服务器的文件并获取源代码,您需要获得这样做的权限,并且,假设您拥有权限后,您只需将源代码复制到您的服务器即可。 / p>

但是,如果要在不是方法的文件之间进行通信。您可以使用 AJAX JSON GET参数进行通信(可能还有许多其他方法)。

答案 2 :(得分:0)

是的,这是可能的,但可能是一个糟糕的决定?如果b.php发生任何事情,a.php的服务器也会受到攻击。 file_get_contents和exec()允许你这样做。重要的是它运行还是只需要输出?

答案 3 :(得分:0)

正如其他人所说,不,不可能。 (否则你将能够阅读任何人的服务器代码)

在每个视图中使用SOAP或REST之类的东西与其他机器进行通信会更好。

答案 4 :(得分:0)

使用位于单独服务器上的PHP文件会导致许多问题。如果您的服务器可以访问PHP文件的代码,那么其他任何希望浏览该URL的人也可以访问。

服务器可以看到的任何东西都是EXTERNAL,任何人都可以看到。