在php中获取当前页面完整地址是需要通过各种函数与参考组合起来的,包括域名或主机地址,网页地址,网址参数,用户代理,端口号等。
基于函数了解,PHP实现:
-
- echo $_SERVER['HTTP_HOST']."
"; #localhost -
- echo $_SERVER['PHP_SELF']."
"; #/blog/testurl.php -
- echo $_SERVER["QUERY_STRING"]."
"; #id=5 -
- echo $_SERVER['HTTP_REFERER']."
"; -
- echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
- echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
- #http:
-
- echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
- #http:
-
- $url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];
- echo dirname($url);
实例代码如下:
-
-
-
-
-
- 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;
- }