我在localhost中设置了文件夹。我想编写一个脚本来获取该域路径,但我尝试使用
$_SERVER['SERVER_NAME']
$_SERVER['HTTP_HOST']
getenv('HTTP_HOST')这些都是给定的http://localhost,我如何才能获得像http://localhost/abc那样的完整路径(abc是一个文件夹,在www目录中)
发布于 2013-11-06 18:01:06
调用此函数,它将返回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;
}发布于 2013-11-06 11:53:01
您必须进行一些编码才能使其与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);https://stackoverflow.com/questions/19803703
复制相似问题