php怎么找到当前页地址

worktile 其他 124

回复

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

    在PHP中,可以通过使用超全局变量 `$_SERVER` 来找到当前页的地址。

    具体的,可以使用 `$_SERVER[‘PHP_SELF’]` 来获取当前脚本的路径和文件名。

    代码示例:

    “`php
    $currentURL = $_SERVER[‘PHP_SELF’];
    echo $currentURL;
    “`

    另外,如果想要获取完整的当前页的URL(包含协议、主机、路径和文件名),可以使用 `$_SERVER[‘HTTP_HOST’]` 和 `$_SERVER[‘REQUEST_URI’]` 来拼接。

    代码示例:

    “`php
    $currentURL = ‘http://’ . $_SERVER[‘HTTP_HOST’] . $_SERVER[‘REQUEST_URI’];
    echo $currentURL;
    “`

    需要注意的是,`$_SERVER` 中的值是由服务器提供的,因此可能受到服务器配置和环境的影响。在某些特殊情况下,获取当前页地址的方法可能会有所不同。但在大多数情况下,上述方法都是可靠的。

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

    要获取当前页的地址,可以使用`$_SERVER`超全局变量中的`PHP_SELF`元素。

    `$_SERVER[‘PHP_SELF’]`是一个包含了当前脚本的文件名和路径的字符串。它是一个相对路径,即相对于服务器的文档根目录。

    下面是获取当前页地址的一个示例:

    “`php
    $currentUrl = $_SERVER[‘PHP_SELF’];
    echo $currentUrl;
    “`

    上述代码将直接输出当前页的地址。

    然而,`$_SERVER[‘PHP_SELF’]`并不总是返回预期的值,在一些情况下可能无法满足需求。例如,如果当前页是由于URL重写而导致的,则`$_SERVER[‘PHP_SELF’]`将返回重写后的URL而不是真实的文件名。

    因此,为了更准确地获取当前页的地址,可以使用`$_SERVER`超全局变量中的其他一些元素来获取完整的URL。

    以下是一种获得当前页地址的更可靠的方法:
    “`php
    $protocol = isset($_SERVER[‘HTTPS’]) && $_SERVER[‘HTTPS’] === ‘on’ ? “https://” : “http://”;
    $host = $_SERVER[‘HTTP_HOST’];
    $uri = $_SERVER[‘REQUEST_URI’];
    $currentUrl = $protocol . $host . $uri;
    echo $currentUrl;
    “`
    上述代码首先判断当前页是通过HTTP还是HTTPS被访问,然后使用`$_SERVER[‘HTTP_HOST’]`获取主机名,最后使用`$_SERVER[‘REQUEST_URI’]`获取请求的URI(包括查询字符串),将它们拼接在一起就得到了完整的URL,并将其输出。

    另外,如果当前页的URL中包含了查询字符串,你可能还想要获取不包含查询字符串的URL,可以使用`parse_url()`函数解析URL,并结合`$_SERVER`超全局变量来获取当前页的地址:

    “`php
    $currentUrl = $_SERVER[‘REQUEST_SCHEME’] . ‘://’ . $_SERVER[‘HTTP_HOST’] . parse_url($_SERVER[‘REQUEST_URI’], PHP_URL_PATH);
    echo $currentUrl;
    “`

    上述代码使用`$_SERVER[‘REQUEST_SCHEME’]`来获取请求使用的协议,并结合`$_SERVER[‘HTTP_HOST’]`获取主机名。然后,使用`parse_url()`函数解析`$_SERVER[‘REQUEST_URI’]`的URL,并使用`PHP_URL_PATH`参数提取出不包含查询字符串的URL。最后,将它们拼接在一起输出。

    总结一下,要获取当前页的地址,可以使用`$_SERVER[‘PHP_SELF’]`,不过它在可能的情况下无法满足需求。为了更可靠地获取当前页的地址,可以结合`$_SERVER`超全局变量中的其他元素来构建完整的URL。

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

    在PHP中,可以使用一些内置的变量和函数来找到当前页的地址。主要有以下几种方法。

    方法一:使用$_SERVER[‘PHP_SELF’]
    $_SERVER是一个包含服务器和执行环境信息的数组。其中,$_SERVER[‘PHP_SELF’]的值是当前文件的路径和文件名。可以通过$_SERVER[‘PHP_SELF’]来获取当前页地址。

    “`php
    $current_page = $_SERVER[‘PHP_SELF’];
    echo “当前页面地址是:” . $current_page;
    “`

    方法二:使用$_SERVER[‘REQUEST_URI’]
    $_SERVER[‘REQUEST_URI’]包含了当前请求的URI(不包括域名和协议)。可以通过$_SERVER[‘REQUEST_URI’]来获取当前页地址。

    “`php
    $current_page = $_SERVER[‘REQUEST_URI’];
    echo “当前页面地址是:” . $current_page;
    “`

    方法三:使用$_SERVER[‘SCRIPT_NAME’]
    $_SERVER[‘SCRIPT_NAME’]包含了当前脚本的路径和文件名。可以通过$_SERVER[‘SCRIPT_NAME’]来获取当前页地址。

    “`php
    $current_page = $_SERVER[‘SCRIPT_NAME’];
    echo “当前页面地址是:” . $current_page;
    “`

    方法四:使用$_SERVER[‘HTTP_HOST’]和$_SERVER[‘REQUEST_URI’]
    $_SERVER[‘HTTP_HOST’]包含了当前请求的主机名,$_SERVER[‘REQUEST_URI’]包含了当前请求的URI。可以结合两者来获取当前页地址。

    “`php
    $current_page = $_SERVER[‘HTTP_HOST’] . $_SERVER[‘REQUEST_URI’];
    echo “当前页面地址是:” . $current_page;
    “`

    方法五:使用$_SERVER[‘HTTPS’]、$_SERVER[‘HTTP_HOST’]和$_SERVER[‘REQUEST_URI’]
    $_SERVER[‘HTTPS’]表示当前请求是否通过HTTPS协议,返回值为非空字符串时表示使用了HTTPS。可以结合$_SERVER[‘HTTP_HOST’]和$_SERVER[‘REQUEST_URI’]来获取当前页地址。

    “`php
    $protocol = $_SERVER[‘HTTPS’] ? ‘https://’ : ‘http://’;
    $host = $_SERVER[‘HTTP_HOST’];
    $uri = $_SERVER[‘REQUEST_URI’];
    $current_page = $protocol . $host . $uri;
    echo “当前页面地址是:” . $current_page;
    “`

    以上是一些常见的方法来获取当前页地址的方式,可以根据具体的需求选择合适的方法使用。

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

400-800-1024

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

分享本页
返回顶部