php获取当前页面完整url

日期 2013年07月23日 04:48

分类 PHP

标签

浏览 5158

字数统计: 1093(字)

本文发布于 10 年前, 内容可能已经过时或失效!

文章目录

项目开发过程中经常需要用到当前页面完整url和baseUrl等进行url跳转操作.

前面已经讲过: php获取网站基础路径baseUrl的两种方法.

下面说明一下

获取当前页面完整路径的方法:

<?php
function getFullUrl(){
    # 解决通用问题
    $requestUri = '';
    if (isset($_SERVER['REQUEST_URI'])) { #$_SERVER["REQUEST_URI"] 只有 apache 才支持,
        $requestUri = $_SERVER['REQUEST_URI'];
    } else {
        if (isset($_SERVER['argv'])) {
            $requestUri = $_SERVER['PHP_SELF'] .'?'. $_SERVER['argv'][0];
        } else if(isset($_SERVER['QUERY_STRING'])) {
            $requestUri = $_SERVER['PHP_SELF'] .'?'. $_SERVER['QUERY_STRING'];
        }
    }
//    echo $requestUri.'<br />';
    $scheme = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
    $protocol = strstr(strtolower($_SERVER["SERVER_PROTOCOL"]), "/",true) . $scheme;
    $port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
    # 获取的完整url
    $_fullUrl = $protocol . "://" . $_SERVER['SERVER_NAME'] . $port . $requestUri;
    return $_fullUrl;
}

echo getFullUrl();

注: 由于php没有内置的函数.我们需要对url上的参数进行组合,从而实现整个url.