如何在localhost中获取localhost /文件夹名称url

时间:2013-11-06 03:45:12

标签: php

我在localhost中设置文件夹。我想编写一个脚本来获取该域路径,但我尝试使用

$_SERVER['SERVER_NAME'] 
$_SERVER['HTTP_HOST'] 
getenv('HTTP_HOST')

这些全部只给http://localhost,我怎么能得到像http://localhost/abc这样的完整路径 (abc是一个文件夹,在www目录中)

2 个答案:

答案 0 :(得分:2)

调用此函数,它将返回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;
}

答案 1 :(得分:0)

您必须进行一些编码才能使其与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);