在php中获取当前域+目录

时间:2012-09-21 14:02:54

标签: php html

所以,我找到了一种使用dirname(__FILE__)获取当前目录并使用$_SERVER['HTTP_HOST']获取域名的方法。虽然这两者都很好,但它们并不是我所需要的。

例如,如果我在http://mydomain.com/scripts/myscript.php上有一个脚本,我想获得http://mydomain.com/scripts/。我觉得应该有一个简单的方法来做到这一点,我忽略了一些东西。

顺便说一句,我目前在云共享托管环境中使用该脚本,因此目录结构有点奇怪。

3 个答案:

答案 0 :(得分:5)

尝试:

<?php
     echo $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']);

唯一的问题是dirname返回父目录,所以如果你直接访问http://domain.com/scripts/,那么只需要脚本就可以获得http://domain.com/http://domain.com/scripts/script.php正确解析为http://domain.com/scripts/

答案 1 :(得分:3)

尝试:

<?php
    echo $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
?>

答案 2 :(得分:0)

function url_part(){
   $http=isset($_SERVER['HTTPS']) ? 'https://' : 'http://';

   $part=rtrim($_SERVER['SCRIPT_NAME'],basename($_SERVER['SCRIPT_NAME']));

   $domain=$_SERVER['SERVER_NAME'];

    return "$http"."$domain"."$part";

}

echo url_part;//htts://www.example.net/test