我需要通过PHP返回文件父目录的完整绝对路径,其中应包括协议,域地址和文件的路径。目的可能是自动生成一个链接,以便它可以附加到社交网络共享者链接,而不管网站的域迁移如何。
$_SERVER["HTTP_HOST"]
将获得域名,$_SERVER["PHP_SELF"]
将获取路径以及使用它的 php 文件。 realpath()
将再次从服务器文档根目录获取完整路径,dirname()
将获取没有文件本身的路径。所以我能想到的最好的是:
$_SERVER["HTTP_HOST"] . dirname($_SERVER["PHP_SELF"])
有什么更好或更短的吗?而且,我仍然需要一个协议。我只提出了$_SERVER['REQUEST_SCHEME']
,我认为在其他问题上讨论是不可靠的。
这个呢?涵盖 https 和您的路径(不带文件名)
$url = "http".(($_SERVER["HTTPS"] == "on") ? "s" : "")."://".$_SERVER['HTTP_HOST'].dirname($_SERVER['REQUEST_URI'])."/";