在php中获取当前页面完整地址是需要通过各种函数与参考组合起来的,包括域名或主机地址 网页地址 网址参数 用户代理 端口号等。
基于函数了解
PHP实现:
代码如下 |
复制代码 |
//获取域名或主机地址
echo $_SERVER['HTTP_HOST']." "; #localhost
//获取网页地址
echo $_SERVER['PHP_SELF']." "; #/blog/testurl.php
//获取网址参数
echo $_SERVER["QUERY_STRING"]." "; #id=5
//获取用户代理
echo $_SERVER['HTTP_REFERER']." ";
//获取完整的url
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
#http://localhost/blog/testurl.php?id=5
//包含端口号的完整url
echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
#http://localhost:80/blog/testurl.php?id=5
//只取路径
$url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];
echo dirname($url);
|
实例
代码如下 |
复制代码 |
/**
* 获取当前页面地址
*
* @author bKjia.c0m
*/
function getPageUrl() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {
$pageURL .= "s";
}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"] . ":" . $_SERVER["SERVER_PORT"] . $_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"];
}
return $pageURL;
}
|