//PHP获取当前页面完整路径URL
1 <?php
2 function getFullUrl(){
3 # 解决通用问题
4 $requestUri = '';
5 if (isset($_SERVER['REQUEST_URI'])) {
6 $requestUri = $_SERVER['REQUEST_URI'];
7 } else {
8 if (isset($_SERVER['argv'])) {
9 $requestUri = $_SERVER['PHP_SELF'] .'?'. $_SERVER['argv'][0];
10 } else if(isset($_SERVER['QUERY_STRING'])) {
11 $requestUri = $_SERVER['PHP_SELF'] .'?'. $_SERVER['QUERY_STRING'];
12 }
13 }
14 // echo $requestUri.'<br />';
15 $scheme = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
16 $protocol = strstr(strtolower($_SERVER["SERVER_PROTOCOL"]), "/",true) . $scheme;
//端口还是蛮重要的,毕竟需要兼容特殊的场景
17 $port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
18 # 获取的完整url
19 $_fullUrl = $protocol . "://" . $_SERVER['SERVER_NAME'] . $port . $requestUri;
20 return $_fullUrl;
21 }
22
23 echo getFullUrl();