PHP获取服务器url参数


PHP Getting server url parameters

我正在使用以下函数来获取我的服务器URL:

/* get url parameters */
    function url() {
        return sprintf(
                "%s://%s%s", isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off' ? 'https' : 'http', $_SERVER['SERVER_NAME'], $_SERVER['REQUEST_URI']
        );
    }

以下是我的网址:

http://enunua.com/emarps/recover_password.php

从上面的url,我只想要以下参数作为我的url的一部分:

http://enunua.com/emarps/

不包括recover_password.php但是上面的函数给了我整个url,包括recover_password.php,请告知我如何才能只获得:http://enunua.com/emarps/?

您使用的是$_SERVER['REQUEST_URI'],它包含整个请求URL以及"recover_password.php"。您可以使用诸如"strrpos"之类的东西来获取不带文件名的URL。

尝试使用这个:

function url() {
    return sprintf(
        "%s://%s%s",
        isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off' ? 'https' : 'http',
        $_SERVER['SERVER_NAME'],
        substr($_SERVER['REQUEST_URI'], 0, strrpos($_SERVER['REQUEST_URI'], '/') + 1)
    );
}