不知道这是否可能 - 但让我解释一下我的问题。
我正在与多个开发人员合作开展项目。我们都有自己的开发环境。对于某些人 - 我们正在构建的网站位于其文档根目录的一个或多个子文件夹中 - 例如
/library/webserver/htdocs/project/website
其他人在网站上有不同的路径,例如
/htdocs/website
当谈到找到获取文档根目录的常用方法(包括php文件等)时没问题。但我也想找到网站的根URL,这意味着在第一种情况下:
http://localhost/project/website/
在第二种情况下
http://localhost/website/
在制作中,同样的方法应该简单地返回
http://domain.tld.
有没有一种很好的方法可以做到这一点 - 无需手动定义路径?谢谢!
答案 0 :(得分:1)
我最终得到了一个看起来像这样的功能。它使用当前服务器的文档根目录,但随后在网站根目录名称之前删除该部分 - 这实际上是此功能所在的目录名称的目录名称:
$dirName = dirname(dirname(__FILE__) . ".." . DIRECTORY_SEPARATOR);
$dirName = str_replace('\\', "/", $dirName);
$base = str_replace($_SERVER['DOCUMENT_ROOT'], "", $dirName);
如果此脚本位于/etc/webserver/documents/
,则文档根目录中的/projects/website1
文档根目录和/projects/website1
下的网站将返回/projects/website1/somreDir/someFile.php
。
希望这有助于某人。
答案 1 :(得分:0)
我认为您正在寻找$_SERVER['HTTP_ROOT']
:
' HTTP_HOST'
当前请求的主机:标头的内容(如果有)。