在PHP中包含域名

时间:2008-10-22 15:22:30

标签: php include

我知道如何在PHP中查找当前域名,问题是当我将此代码放入文件然后从另一台服务器中包含它时,它会显示文件所在的域名。有没有办法找到域或包含include()代码的网站?

4 个答案:

答案 0 :(得分:1)

你在做什么:

include 'http://example.com/script.php';

注意:从安全角度来看,这种方法通常被认为有点禁忌。

无论如何,包含的脚本实际上是在另一台服务器上执行,然后脚本的输出正在当前服务器上执行。您可以通过回显实际代码来解决这个问题,如下所示:

目前:

<? 
//do something
echo '$v = '.$_SERVER['HTTP_HOST'].';'
?>

其他方式:

<?
//do something
?>
$v = $_SERVER['HTTP_HOST'];

但是,也许我误解了你的问题。

答案 1 :(得分:0)

如果您从其他服务器包含一个PHP页面,该页面将由原始服务器解析,结果将发送给您 - 您收到的页面只是文本,不包含PHP代码。

答案 2 :(得分:0)

这是一个粗暴的黑客,但在远程服务器上,您可以查找$ _ENV ['REMOTE_HOST']的域名。

这是从远程服务器的角度来看“包含”的人的域名。

我认为您有理由想要实现这种奇怪的拓扑 - 虚拟主机环境中的限制,或者某些东西。如果可能的话,我建议调查替代基础设施。

答案 3 :(得分:0)

您可以使用“eval”在本地运行它,然后它应该使用正确的域 将脚本存储为文本文件然后下载然后执行:

eval(file_get_contents("http://someDomain.com/somePhpscript.txt"));
相关问题