php获取当前页面完整url
本文发布于 12 年前, 内容可能已经过时或失效!
项目开发过程中经常需要用到当前页面完整url和baseUrl等进行url跳转操作. 前面已经讲过: [php获取网站基础路径baseUrl的两种方法](http://yanue.net/post-50.html). 下面说明一下 ## 获取当前页面完整路径的方法: ```php <?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.