在php中獲取當(dāng)前頁面完整地址是需要通過各種函數(shù)與參考組合起來的,包括域名或主機地址,網(wǎng)頁地址,網(wǎng)址參數(shù),用戶代理,端口號等。
基于函數(shù)了解,PHP實現(xiàn):
- //獲取域名或主機地址
- echo $_SERVER['HTTP_HOST']."
"; #localhost- //獲取網(wǎng)頁地址
- echo $_SERVER['PHP_SELF']."
"; #/blog/testurl.php- //獲取網(wǎng)址參數(shù)
- 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);
實例代碼如下:
- /**
- * 獲取當(dāng)前頁面地址
- *
- * @author Vevb.com
- */
- 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;
- }
|
新聞熱點
疑難解答