php怎么获取当前网址

不及物动词 其他 116

回复

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

    在PHP中,可以通过$_SERVER[‘PHP_SELF’]来获取当前网址。具体代码如下:

    “`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协议,如果是则将协议名加上”s”,然后拼接上服务器域名和请求URI,最后输出得到的当前网址。

    值得注意的是,使用$_SERVER[‘PHP_SELF’]也可以获取当前网址,但可能会存在安全问题,容易受到跨站脚本攻击(XSS攻击)。因此,在实际开发中,推荐使用上述方式获取当前网址。

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

    在PHP中,可以使用$_SERVER数组来获取当前网址。具体的获取方式如下:

    1. 获取当前网站的域名:
    “`
    $domain = $_SERVER[‘HTTP_HOST’];
    “`
    这样可以获取到当前网站的域名,例如www.example.com。

    2. 获取当前网址的协议:
    “`
    $protocol = $_SERVER[‘REQUEST_SCHEME’];
    “`
    这样可以获取到当前网址的协议,例如http或https。

    3. 获取当前页面的文件名:
    “`
    $filename = $_SERVER[‘SCRIPT_FILENAME’];
    “`
    这样可以获取到当前页面的文件名,例如index.php。

    4. 获取当前页面的完整URL:
    “`
    $url = $protocol . ‘://’ . $domain . $_SERVER[‘REQUEST_URI’];
    “`
    这样可以获取到当前页面的完整URL,例如http://www.example.com/index.php。

    5. 获取当前页面的查询字符串:
    “`
    $query_string = $_SERVER[‘QUERY_STRING’];
    “`
    这样可以获取到当前页面的查询字符串,例如id=1&name=John。

    使用上述代码片段,您可以在PHP中获取当前的网址。请注意,这些代码的可用性取决于服务器配置和PHP版本。因此,建议在使用之前进行适当的验证和错误处理。

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

    要获取当前网址,可以使用以下方法:

    1. 使用`$_SERVER[‘REQUEST_URI’]`变量获取当前页面的网址。
    `$_SERVER[‘REQUEST_URI’]`变量包含了当前页面的相对路径和查询字符串,即`/example.php?param1=value1&param2=value2`。可以通过使用`$_SERVER[‘PHP_SELF’]`替换查询字符串部分,或者使用`$_SERVER[‘REQUEST_URI’]`直接获取完整的当前网址。

    示例代码:
    “`php
    $currentUrl = $_SERVER[‘REQUEST_URI’];
    echo $currentUrl;
    “`

    2. 使用`$_SERVER[‘HTTP_HOST’]`和`$_SERVER[‘HTTPS’]`变量来获取当前网址的协议和主机部分。
    `$_SERVER[‘HTTP_HOST’]`变量包含当前请求的主机名,例如`www.example.com`。`$_SERVER[‘HTTPS’]`变量表示当前网址是否通过HTTPS协议访问,值为`’on’`表示是,值为空或其他值表示否。

    示例代码:
    “`php
    $protocol = isset($_SERVER[‘HTTPS’]) && $_SERVER[‘HTTPS’] === ‘on’ ? ‘https://’ : ‘http://’;
    $host = $_SERVER[‘HTTP_HOST’];
    $currentUrl = $protocol . $host;
    echo $currentUrl;
    “`

    3. 使用`$_SERVER[‘SCRIPT_NAME’]`和`$_SERVER[‘QUERY_STRING’]`变量来获取当前网址的路径和查询字符串部分。
    `$_SERVER[‘SCRIPT_NAME’]`变量包含当前脚本的路径,例如`/example.php`。`$_SERVER[‘QUERY_STRING’]`变量包含当前网址的查询字符串部分,即`param1=value1&param2=value2`。

    示例代码:
    “`php
    $path = $_SERVER[‘SCRIPT_NAME’];
    $query = $_SERVER[‘QUERY_STRING’];
    $currentUrl = $path . ‘?’ . $query;
    echo $currentUrl;
    “`

    请注意,以上方法在不同的环境中可能会有一些差异,例如使用代理服务器或重定向。因此,在实际使用时需要进行适当的测试和调整。

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

400-800-1024

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

分享本页
返回顶部