我在本地主机中设置文件夹。我想编写一个脚本来获取该域路径,但我尝试过使用
$_SERVER['SERVER_NAME']
$_SERVER['HTTP_HOST']
getenv('HTTP_HOST')
这些http://localhost
都只给出,我怎么能得到完整的路径http://localhost/abc
(abc是一个文件夹,在www目录中)
我在本地主机中设置文件夹。我想编写一个脚本来获取该域路径,但我尝试过使用
$_SERVER['SERVER_NAME']
$_SERVER['HTTP_HOST']
getenv('HTTP_HOST')
这些http://localhost
都只给出,我怎么能得到完整的路径http://localhost/abc
(abc是一个文件夹,在www目录中)
调用这个函数,它会返回 url
public function curPageURL()
{
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80")
{
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
}
else
{
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
您必须进行一些编码才能使其与parse_url()一起使用。所以我建议这样做:
$parsed_url = parse_url($_SERVER['PHP_SELF']);
echo $parsed_url['path'];
但这会显示包含脚本名称的完整路径,因此您可能需要添加一些逻辑来进一步解析。
编辑:决定对这个概念进行更多编码,结果如下。将返回当前脚本的路径,但没有脚本文件名:
$parsed_url = parse_url($_SERVER['PHP_SELF']);
$path_array = explode('/', $parsed_url['path']);
array_pop($path_array);
echo join('/', $path_array);