php怎么获取请求的url地址

fiy 其他 332

回复

共3条回复 我来回复
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在PHP中,可以使用`$_SERVER`超全局数组来获取当前请求的URL地址。

    具体获取URL的方式有两种:

    1. 使用`$_SERVER[‘REQUEST_URI’]`:它能够获取到完整的请求URL,包括域名、文件路径和查询参数。例如,如果请求的URL为`https://www.example.com/test.php?id=123`,那么可以使用以下代码来获取URL地址:

    “`php
    $url = $_SERVER[‘REQUEST_URI’];
    echo $url; // 输出:/test.php?id=123
    “`

    2. 使用`$_SERVER[‘HTTP_HOST’]`和`$_SERVER[‘SCRIPT_NAME’]`:如果只想获取不包括查询参数的URL地址,可以使用这种方式。`HTTP_HOST`用于获取当前的域名,`SCRIPT_NAME`用于获取当前脚本的路径。使用这两个变量可以拼接出完整的URL地址。示例代码如下:

    “`php
    $host = $_SERVER[‘HTTP_HOST’];
    $script = $_SERVER[‘SCRIPT_NAME’];
    $url = $host . $script;
    echo $url; // 输出:https://www.example.com/test.php
    “`

    需要注意的是,`$_SERVER`数组中的值是由Web服务器设置的,因此在不同的服务器环境中,具体变量的值可能会有所不同。

    以上就是获取请求URL地址的两种方式,可以根据实际需求选择适合的方法来获取URL。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    在PHP中,您可以使用`$_SERVER`全局变量来获取请求的URL地址。

    1. 获取当前页面的URL:
    “`php
    $currentUrl = $_SERVER[‘REQUEST_URI’];
    “`
    `$_SERVER[‘REQUEST_URI’]`会返回当前页面的URL路径和查询字符串。

    2. 获取当前页面的完整URL:
    “`php
    $currentFullUrl = $_SERVER[‘HTTP_HOST’] . $_SERVER[‘REQUEST_URI’];
    “`
    `$_SERVER[‘HTTP_HOST’]`会返回当前服务器主机名。

    3. 获取URL中的协议:
    “`php
    $protocol = stripos($_SERVER[‘SERVER_PROTOCOL’],’https’) === true ? ‘https://’ : ‘http://’;
    “`
    使用`$_SERVER[‘SERVER_PROTOCOL’]`可以获取当前请求的协议,通过判断是否包含`https`来确定使用的是`http`还是`https`。

    4. 获取URL中的域名:
    “`php
    $domain = $_SERVER[‘HTTP_HOST’];
    “`
    `$_SERVER[‘HTTP_HOST’]`会返回当前请求的域名。

    5. 获取URL中的路径和查询字符串:
    “`php
    $urlPath = strtok($_SERVER[‘REQUEST_URI’], ‘?’);
    “`
    使用`strtok`函数可以将URL地址以`?`为界限进行拆分,返回URL的路径部分。如果没有查询字符串,则返回完整的URL地址。

    需要注意的是,在使用`$_SERVER`全局变量时,需要确保PHP服务器的配置正确,并且不会被用户篡改。

    2年前 0条评论
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在PHP中,可以使用`$_SERVER`全局变量获取当前请求的URL地址。具体的操作流程如下:

    1. 获取请求的协议类型(http或https):

    “`php
    $protocol = isset($_SERVER[‘HTTPS’]) && $_SERVER[‘HTTPS’] === ‘on’ ? ‘https’ : ‘http’;
    “`

    2. 获取主机名(域名):

    “`php
    $host = $_SERVER[‘HTTP_HOST’];
    “`

    3. 获取请求的URI(统一资源标识符):

    “`php
    $uri = $_SERVER[‘REQUEST_URI’];
    “`

    4. 将协议类型、主机名和URI拼接起来,即可得到完整的URL地址:

    “`php
    $url = $protocol . ‘://’ . $host . $uri;
    “`

    综合起来,可以编写一个获取当前请求URL地址的函数,如下所示:

    “`php
    function getCurrentUrl() {
    $protocol = isset($_SERVER[‘HTTPS’]) && $_SERVER[‘HTTPS’] === ‘on’ ? ‘https’ : ‘http’;
    $host = $_SERVER[‘HTTP_HOST’];
    $uri = $_SERVER[‘REQUEST_URI’];
    $url = $protocol . ‘://’ . $host . $uri;

    return $url;
    }
    “`

    使用示例:

    “`php
    $url = getCurrentUrl();
    echo $url;
    “`

    以上操作流程可以获取到当前请求的URL地址。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部