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.