php怎么获取当前访问网址

fiy 其他 174

回复

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

    在PHP中,我们可以通过使用超全局变量`$_SERVER`来获取当前访问网址。`$_SERVER`是一个包含了诸如头信息、路径、脚本位置等等信息的数组。具体来说,`$_SERVER[‘REQUEST_URI’]`可以返回当前页面的相对路径。

    下面是获取当前访问网址的代码:

    “`php
    $currentUrl = ‘http’;
    if (isset($_SERVER[‘HTTPS’]) && $_SERVER[‘HTTPS’] === ‘on’) {
    $currentUrl .= ‘s’;
    }
    $currentUrl .= ‘://’;
    if ($_SERVER[‘SERVER_PORT’] !== ’80’) {
    $currentUrl .= $_SERVER[‘SERVER_NAME’] . ‘:’ . $_SERVER[‘SERVER_PORT’] . $_SERVER[‘REQUEST_URI’];
    } else {
    $currentUrl .= $_SERVER[‘SERVER_NAME’] . $_SERVER[‘REQUEST_URI’];
    }

    echo $currentUrl;
    “`

    上述代码中,我们首先检查是否使用了HTTPS协议,如果是,则在$currentUrl中加入`https://`。然后我们添加服务器名,如果端口不是80,我们还要将端口号添加到$currentUrl中。最后,我们将$_SERVER[‘REQUEST_URI’]添加到$currentUrl中,得到完整的访问网址。

    需要说明的是,由于`$_SERVER`包含了许多其他信息,所以还可以通过`$_SERVER[‘SCRIPT_NAME’]`来获取当前脚本的路径,通过`$_SERVER[‘HTTP_HOST’]`获取当前访问域名等等。

    这样,我们就可以通过PHP获取到当前访问网址了。

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

    通过PHP的`$_SERVER`全局变量可以获取当前访问网址。具体方法如下:

    1. 获取当前访问网址的URL:
    “`
    $url = ‘http’;
    if (isset($_SERVER[‘HTTPS’]) && $_SERVER[‘HTTPS’] === ‘on’) {
    $url .= ‘s’;
    }
    $url .= ‘://’.$_SERVER[‘HTTP_HOST’].$_SERVER[‘REQUEST_URI’];
    “`

    2. 获取当前访问网址的协议(http或https):
    “`
    $protocol = isset($_SERVER[‘HTTPS’]) && $_SERVER[‘HTTPS’] === ‘on’ ? ‘https’ : ‘http’;
    “`

    3. 获取当前访问网址的域名:
    “`
    $domain = $_SERVER[‘HTTP_HOST’];
    “`

    4. 获取当前访问网址的路径部分:
    “`
    $path = $_SERVER[‘REQUEST_URI’];
    “`

    5. 获取当前访问网址的查询字符串(如果有的话):
    “`
    $queryString = isset($_SERVER[‘QUERY_STRING’]) ? $_SERVER[‘QUERY_STRING’] : ”;
    “`

    通过上述方法,你可以获取到当前访问网址的各个部分,并根据需要进行处理和使用。

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

    获取当前访问网址是一个常见需求,在PHP中可以通过一些方法和操作流程来实现。下面将介绍一种常用的方法来获取当前访问网址,并结合小标题进行详细讲解。

    ## 目录
    1. 什么是当前访问网址
    2. 通过 `$_SERVER` 超级全局变量获取当前访问网址
    1. 通过 `$_SERVER[‘REQUEST_URI’]` 获取当前URI
    2. 通过 `$_SERVER[‘HTTP_HOST’]` 获取当前主机名
    3. 通过 `$_SERVER[‘HTTPS’]` 获取当前协议
    4. 通过 `$_SERVER[‘QUERY_STRING’]` 获取当前查询字符串
    5. 拼接以上信息获取完整的当前访问网址
    3. 示例代码

    ### 1. 什么是当前访问网址
    当前访问网址,也称为当前URL,指的是用户当前正在访问的网页的网址。在PHP中,获取当前访问网址可以用于记录访问日志、实现URL跳转等功能。

    ### 2. 通过 `$_SERVER` 超级全局变量获取当前访问网址
    在PHP中,可以通过 `$_SERVER` 超级全局变量来获取当前访问网址的各个部分信息,包括URI、主机名、协议和查询字符串等。

    #### 2.1 通过 `$_SERVER[‘REQUEST_URI’]` 获取当前URI
    `$_SERVER[‘REQUEST_URI’]` 可以获取用户请求的URI,即不包括主机名和协议部分的相对路径。例如,如果用户访问的网址是 `http://example.com/foo/bar.php?a=1&b=2`,那么 `$_SERVER[‘REQUEST_URI’]` 的值就是 `/foo/bar.php?a=1&b=2`。

    #### 2.2 通过 `$_SERVER[‘HTTP_HOST’]` 获取当前主机名
    `$_SERVER[‘HTTP_HOST’]` 可以获取当前访问的主机名,即域名部分。例如,如果用户访问的网址是 `http://example.com/foo/bar.php?a=1&b=2`,那么 `$_SERVER[‘HTTP_HOST’]` 的值就是 `example.com`。

    #### 2.3 通过 `$_SERVER[‘HTTPS’]` 获取当前协议
    `$_SERVER[‘HTTPS’]` 是一个可选的环境变量,用于指示当前访问是否通过安全的HTTPS协议进行。如果该变量存在且不为空,意味着当前访问是通过HTTPS进行的,否则是通过HTTP进行的。

    #### 2.4 通过 `$_SERVER[‘QUERY_STRING’]` 获取当前查询字符串
    `$_SERVER[‘QUERY_STRING’]` 可以获取当前请求的查询字符串部分,即URL中问号后面的内容。例如,如果用户访问的网址是 `http://example.com/foo/bar.php?a=1&b=2`,那么 `$_SERVER[‘QUERY_STRING’]` 的值就是 `a=1&b=2`。

    #### 2.5 拼接以上信息获取完整的当前访问网址
    通过以上获取的各个部分信息,我们可以通过拼接它们来获取完整的当前访问网址。

    “`php
    $protocol = isset($_SERVER[‘HTTPS’]) && $_SERVER[‘HTTPS’] === ‘on’ ? ‘https://’ : ‘http://’;
    $host = $_SERVER[‘HTTP_HOST’];
    $uri = $_SERVER[‘REQUEST_URI’];
    $queryString = $_SERVER[‘QUERY_STRING’];

    $currentUrl = $protocol . $host . $uri . ‘?’ . $queryString;
    “`

    ### 3. 示例代码

    “`php

    “`

    以上代码通过拼接 `$_SERVER` 中的各个部分信息,获取到了当前访问网址,并使用echo语句将其输出。

    综上所述,通过 `$_SERVER` 超级全局变量和一些操作流程,我们可以很方便地获取到当前访问网址。获取当前访问网址可以满足我们日常开发中各种需求,值得我们注意和学习。

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

400-800-1024

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

分享本页
返回顶部