PHP如何获取基本域/url?

php
2022-08-30 08:47:52
function url(){
    if(isset($_SERVER['HTTPS'])){
        $protocol = ($_SERVER['HTTPS'] && $_SERVER['HTTPS'] != "off") ? "https" : "http";
    }
    else{
        $protocol = 'http';
    }
    return $protocol . "://" . $_SERVER['HTTP_HOST'];
}

例如,使用上面的函数,如果我使用相同的目录,它可以正常工作,但是如果我创建一个子目录,并在其中工作,它也会给我子目录的位置。我只是想要,但它给了我,如果我在文件夹中工作。如果我使用主目录,该功能工作正常。有没有替代方法?example.comexample.com/subsub$_SERVER['HTTP_HOST']

或者我该如何修复我的函数/代码以仅获取主URL?谢谢。


答案 1

用。SERVER_NAME

echo $_SERVER['SERVER_NAME']; //Outputs www.example.com

答案 2

您可以使用PHP的功能parse_url()

function url($url) {
  $result = parse_url($url);
  return $result['scheme']."://".$result['host'];
}

推荐