如何在PHP中包含子域的文件

时间:2017-05-24 10:52:30

标签: php include

我试图将子域中的文件包含在主域中的文件中...

例如:

sub.domain.com/inc/template/file.php< ---(我需要包含此文件)

domain.com/index.php< -----(INTO此文件)

到目前为止我已经尝试过:

include('http://sub.domain.com/inc/template/file.php')

但这不安全,因为我需要使用php启用url_fopen ...所以我试图找到另一种方法来执行此操作...

此外,我想知道当我包含文件时,我是否可以在其包含的文件中回显变量。

提前致谢。

2 个答案:

答案 0 :(得分:1)

只要文件位于同一服务器上,您就应该能够将其包含在完整路径中。

/home/user/public_html/file.php中,如果添加:

,它应该有用
include('/home/user/sub1.domain.com/file.php'); 

有关详细信息,请参阅:http://php.net/manual/en/function.include.php

答案 1 :(得分:1)

allow_url_include和allow_url_fopen允许大量网络攻击成功。许多网站都被黑客入侵,因为他们有PHP漏洞。如果这些网站一直在使用allow_url_include = Off,或者更一般的allow_url_fopen = Off,那么即使底层漏洞没有得到修复,其中许多黑客也不会成功。 如果没有它就可以使用它,请将其关闭,因为它提供了非常真实的保护。

当您包含来自同一网站的文件时,您不必使用完整的URL,也不应该使用。

如果您要包含其他网站的文件,请问自己是否真的有必要这样做。如果它是您管理的其他站点的静态文件,您可以制作该文件的本地副本,并将其包含在没有URL的位置。

在某些情况下,您可能需要按网址添加,但始终首先尝试查找备用方法。

还有一件事 - 在PHP 4.3.0之前的Windows版本中,以下函数不支持远程文件访问:include,include_once,require,require_once和GD和Image Functions扩展中的imagecreatefromXXX函数。 Read more