php怎么获取当前页面的网址

worktile 其他 160

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在PHP中,可以使用`$_SERVER[‘PHP_SELF’]`来获取当前页面的网址。这个变量会返回当前脚本的文件名,因此如果你希望获取完整的网址,你需要结合其他变量来拼接。以下是一个例子:

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

    在这个例子中,`$_SERVER[‘HTTP_HOST’]`表示当前页面的主机名,`$_SERVER[‘PHP_SELF’]`表示当前脚本的文件名。使用`http://`前缀来拼接这两个变量,就可以得到完整的网址。

    值得注意的是,`$_SERVER[‘PHP_SELF’]`还会包含当前脚本的路径,如果你只想获取当前页面的文件名,可以使用`basename()`函数来去除路径部分。以下是修改后的例子:

    “`php
    $currentURL = ‘http://’.$_SERVER[‘HTTP_HOST’].basename($_SERVER[‘PHP_SELF’]);
    “`

    使用这个方法,你就可以轻松地获取当前页面的网址了。

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

    要获取当前页面的网址,可以使用PHP中的`$_SERVER`全局变量来实现。具体的代码如下:

    “`php
    $currentUrl = ‘http’;

    if (isset($_SERVER[‘HTTPS’]) && $_SERVER[‘HTTPS’] === ‘on’) {
    $currentUrl .= ‘s’;
    }

    $currentUrl .= ‘://’ . $_SERVER[‘SERVER_NAME’];

    if ($_SERVER[‘SERVER_PORT’] != ’80’) {
    $currentUrl .= ‘:’ . $_SERVER[‘SERVER_PORT’];
    }

    $currentUrl .= $_SERVER[‘REQUEST_URI’];

    echo $currentUrl;
    “`

    通过`$_SERVER`全局变量可以获取到许多关于服务器和当前请求的信息,其中包括了当前页面的网址。

    1. 第一行代码是定义一个变量`$currentUrl`并初始化为`http`。在后续代码中,我们会根据请求是否使用了HTTPS协议,决定是否在网址中加入`s`。

    2. 第三行代码检查`$_SERVER`中的`HTTPS`元素,如果存在且值为`on`,说明使用了HTTPS协议,我们将`$currentUrl`拼接上`s`来表示网址使用了安全的HTTPS。

    3. 第五行代码拼接上服务器的域名或IP地址,通过`$_SERVER[‘SERVER_NAME’]`可以获取到这个信息。

    4. 第七行代码检查服务器的端口是否为默认的80,如果不是,我们将端口拼接到网址上。通过`$_SERVER[‘SERVER_PORT’]`可以获取到端口信息。

    5. 第九行代码拼接上当前请求的URI,通过`$_SERVER[‘REQUEST_URI’]`可以获取到URI信息。URI是指网址中域名后的路径部分,例如`http://example.com/path/to/page.php`中的`/path/to/page.php`。

    最后,通过`echo`语句将获取到的当前页面网址输出到浏览器。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    要获取当前页面的网址,可以使用PHP的全局变量`$_SERVER`中的`HTTP_HOST`和`REQUEST_URI`。

    方法一:使用`$_SERVER[‘HTTP_HOST’]`和`$_SERVER[‘REQUEST_URI’]`拼接成完整的URL

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

    `$_SERVER[‘HTTP_HOST’]`表示当前访问网页的主机名,例如`www.example.com`。`$_SERVER[‘REQUEST_URI’]`表示当前请求的URI,即路径和参数部分,例如`/example.php?id=1&name=John`。

    方法二:使用`$_SERVER[‘SERVER_NAME’]`和`$_SERVER[‘PHP_SELF’]`拼接成完整的URL

    “`php
    $url = ‘http://’ . $_SERVER[‘SERVER_NAME’] . $_SERVER[‘PHP_SELF’];
    echo $url;
    “`

    `$_SERVER[‘SERVER_NAME’]`表示当前服务器的主机名,例如`www.example.com`。`$_SERVER[‘PHP_SELF’]`表示当前执行脚本的文件名,例如`/example.php`。

    方法三:使用`$_SERVER[‘SCRIPT_URI’]`获取完整的URL

    “`php
    $url = $_SERVER[‘SCRIPT_URI’];
    echo $url;
    “`

    `$_SERVER[‘SCRIPT_URI’]`表示当前脚本的绝对路径,包括协议、主机名和路径。

    需要注意的是,使用上述方法获取到的URL中可能包含查询参数部分(即`?`后面的部分)。如果只需要获取不包含查询参数的URL,可以使用`parse_url()`函数:

    “`php
    $fullUrl = ‘http://’ . $_SERVER[‘HTTP_HOST’ ] . $_SERVER[‘REQUEST_URI’];
    $urlParts = parse_url($fullUrl);
    $url = $urlParts[‘scheme’] . ‘://’ . $urlParts[‘host’] . $urlParts[‘path’];
    echo $url;
    “`

    以上就是获取当前页面网址的方法,根据具体使用场景选择相应的方法即可。

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

400-800-1024

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

分享本页
返回顶部