如何从其他域包含一个PHP文件

时间:2010-10-06 18:54:57

标签: php

我在同一台服务器上有两个doamins(www.domain1.com,www.domain2.com)。

我在拳头服务器上有一个index1.php。 现在我需要包含驻留在domain2中的文件index2.php

如何使用PHP代码(包括,要求....)

6 个答案:

答案 0 :(得分:4)

不可能在另一台服务器上包含php文件,因为这会是一个安全漏洞(其他网站设置变量然后包含你的文件。)但是,你可以使用file_get_contents来获取php文件的输出在另一台服务器上。

答案 1 :(得分:3)

如果它们是同一台服务器,则只需包含具有绝对文件路径的文件即可。很难在不知道确切文件路径的情况下准确建议,但代码仍然是:

include('/path/to/your/file.php');

答案 2 :(得分:1)

  1. 设置php.ini(allow_url_include = On)然后重启apache(服务器1)
  2. 将somefile.php中的外部文件重命名为somefile(server 2)
  3. 将文件包含在php文件中,如: 包括" http://otherdomain.com/somefile&#34 ;; (服务器1)

答案 3 :(得分:0)

如果两个PHP用户都可以访问其他空间(不太可能),则会像往常一样将文件包含在includerequire中。

如果没有,您可以使用cURL之类的内容交换数据,然后使用eval执行此操作(注意安全漏洞 !!!)。如果您只需要挖掘数据(如内容),请尝试使用SimpleXML替换XML。

答案 4 :(得分:0)

这通常不可行,您应该考虑不要尝试这样做。如果您控制两个域并需要它们之间的共享代码,请考虑对共享代码进行版本控制(例如,使用subversion),然后在它们之间签出副本。否则,如果你不控制其他域名,那你就不走运了。

使用cURL也无济于事,因为它会在处理后返回文件。 PHP的include()将允许在应用程序流中插入和执行代码,但是,使用cURL(或fopen()file_get_contents()等)显然只返回任何脚本输出,因为它将具有在您选择返回的函数之前,其他服务器已经处理过。

答案 5 :(得分:-1)

尝试使用php创建第3个文件,并授予复制/粘贴权限, 你可以先将.php替换为.txt,然后读取第二个文件的所有内容并将其转换为字符串。

将第一个文件从.php转换为.txt并将其转换为字符串..

最后在第一个文件和第二个文件的适当位置创建第三个文件,并将其重命名为.php

将所有修改过的文件重命名为.php

你完成了!