一、php獲取當前頁面的完整URL
#測試網址: http://localhost/blog/testurl.php?id=5
//獲取域名或主機地址
echo $_SERVER['HTTP_HOST']."<br>"; #localhost
//獲取網頁地址
echo $_SERVER['PHP_SELF']."<br>"; #/blog/testurl.php
//獲取網址參數
echo $_SERVER["QUERY_STRING"]."<br>"; #id=5
//獲取用戶代理
echo $_SERVER['HTTP_REFERER']."<br>";
//獲取完整的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);
#http://localhost/blog
二、php實現頁面跳轉
•PHP頁面跳轉一、header()函數
header()函數是PHP中進行頁面跳轉的一種十分簡單的方法。header()函數的主要功能是將HTTP協議標頭(header)輸出到瀏覽器。
header()函數的定義如下:
void header (string string [,bool replace [,int http_response_code]])
可選參數replace指明是替換前一條類似標頭還是添加一條相同類型的標頭,默認為替換。第二個可選參數http_response_code強制將HTTP相應代碼設為指定值。 header函數中Location類型的標頭是一種特殊的header調用,常用來實現頁面跳轉。
注意:
1.location和":"號間不能有空格,否則不會跳轉。
2.在用header前不能有任何的輸出。
3.header后的PHP代碼還會被執行。例如,將瀏覽器重定向到冰之愛網
復制代碼代碼如下:
< ?php
//重定向瀏覽器
header("Location: http:// www.nuskinbing.com");
//確保重定向后,后續代碼不會被執行
exit;
?>
•PHP頁面跳轉二、Meta標簽
Meta標簽是HTML中負責提供文檔元信息的標簽,在PHP程序中使用該標簽,也可以實現頁面跳轉。若定義http-equiv為refresh,則打開該頁面時將根據content規定的值在一定時間內跳轉到相應頁面。
若設置content="秒數;url=網址",則定義了經過多長時間后頁面跳轉到指定的網址。例如,使用meta標簽實現1秒后頁面自動跳轉到填寫的網址。
復制代碼代碼如下:
< meta http-equiv = "refresh"
content = "1;url= http:// www.nuskinbing.com " >
例如,以下程序meta.php實現在該頁面中停留一秒后頁面自動跳轉到bbs.lampbrother.net。
復制代碼代碼如下:
< ?php
$ url = " http://www.nuskinbing.com" ; ?>
< html >
< head >
< meta http-equiv = "refresh" content ="1;
url = < ?php echo $url; ?> " >
< /head >
< body >
頁面只停留一秒……
< /body >
< /html >
PHP頁面跳轉三、JavaScript
例如,此代碼可以放在程序中的任何合法位置。
復制代碼代碼如下:
< ?php
$ url = " http://www.nuskinbing.com " ;
echo " < script language = 'javascript'
type = 'text/javascript' > ";
echo " window.location.href = '$url' ";
echo " < /script > ";
?>