PHP 中文件父目录的完整绝对路径

Full absolute path to file's parent directory in PHP

我需要 return 文件父目录的完整绝对路径 PHP,其中应包括协议、域地址和文件路径。目的可能是自动生成一个 link,以便它可以附加到社交网络共享者 link,而不管网站的域迁移。

$_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'])."/";