PHP全面獲取url位址列引數多種方法

weixin_34262482發表於2012-07-31

php全面獲取url位址列引數多種方法:

$_SERVER["SERVER_PORT"]  //獲取埠  
$_SERVER['HTTP_HOST']  //獲取域名或主機地址 如test.cn 或http://www.test.cn 或2010.test.cn  
$_SERVER['SERVER_NAME']  //獲取域名或主機地址 注:只是主域名 如 test.cn  
$_SERVER["REQUEST_URI"]  //獲取域名後的詳細地址 如:/index.php?id=123 ...  
$_SERVER['PHP_SELF']  //獲取PHP檔名  
$_SERVER["QUERY_STRING"]  //獲取PHP後的網址引數  
$_SERVER['HTTP_REFERER']  //來源網頁的詳細地址  

 

輸出:

echo "rewrite: ".$_GET["rewrite"];  
echo "<br>SERVER_PORT: ".$_SERVER["SERVER_PORT"];  
echo "<br>HTTP_HOST: ".$_SERVER["HTTP_HOST"];  
echo "<br>SERVER_NAME: ".$_SERVER["SERVER_NAME"];  
echo "<br>REQUEST_URI: ".$_SERVER["REQUEST_URI"];  
echo "<br>PHP_SELF: ".$_SERVER["PHP_SELF"];  
echo "<br>QUERY_STRING: ".$_SERVER["QUERY_STRING"];  
echo "<br>HTTP_REFERER: ".$_SERVER["HTTP_REFERER"];  

 

注意:

    PHP中的SERVER_NAME 和HTTP_HOST的區別

位址列裡輸入以下網址:

1) http://www.test.cn/ 時
對應的值為:
HTTP_HOST: www.test.cn
SERVER_NAME: test.cn

 

2) http://blog.test.cn / 時
對應的值為:
HTTP_HOST: blog.test.cn
SERVER_NAME: test.cn

 

php $_SERVER 屬性說明

$_SERVER[ 'PHP_SELF' ] #當前正在執行指令碼的檔名,與 document root相關。   
$_SERVER[ 'argv' ] #傳遞給該指令碼的引數。   
$_SERVER[ 'argc' ] #包含傳遞給程式的命令列引數的個數(如果執行在命令列模式)。   
$_SERVER[ 'GATEWAY_INTERFACE' ] #伺服器使用的 CGI 規範的版本。例如,“CGI/ 1.1 ”。   
$_SERVER[ 'SERVER_NAME' ] #當前執行指令碼所在伺服器主機的名稱。   
$_SERVER[ 'SERVER_SOFTWARE' ] #伺服器標識的字串,在響應請求時的頭部中給出。   
$_SERVER[ 'SERVER_PROTOCOL' ] #請求頁面時通訊協議的名稱和版本。例如,“HTTP/ 1.0 ”。   
$_SERVER[ 'REQUEST_METHOD' ] #訪問頁面時的請求方法。例如:“GET”、“HEAD”,“POST”,“PUT”。   
$_SERVER[ 'QUERY_STRING' ] #查詢(query)的字串。   
$_SERVER[ 'DOCUMENT_ROOT' ] #當前執行指令碼所在的文件根目錄。在伺服器配置檔案中定義。   
$_SERVER[ 'HTTP_ACCEPT' ] #當前請求的 Accept: 頭部的內容。   
$_SERVER[ 'HTTP_ACCEPT_CHARSET' ] #當前請求的 Accept-Charset: 頭部的內容。例如:“iso- 8859 - 1,*,utf- 8 ”。   
$_SERVER[ 'HTTP_ACCEPT_ENCODING' ] #當前請求的 Accept-Encoding: 頭部的內容。例如:“gzip”。   
$_SERVER[ 'HTTP_ACCEPT_LANGUAGE' ]# 當前請求的 Accept-Language: 頭部的內容。例如:“en”。   
$_SERVER[ 'HTTP_CONNECTION' ] #當前請求的 Connection: 頭部的內容。例如:“Keep-Alive”。   
$_SERVER[ 'HTTP_HOST' ] #當前請求的 Host: 頭部的內容。   
$_SERVER[ 'HTTP_REFERER' ] #連結到當前頁面的前一頁面的 URL 地址。   
$_SERVER[ 'HTTP_USER_AGENT' ] #當前請求的 User_Agent: 頭部的內容。   
$_SERVER[ 'HTTPS' ] # 如果通過https訪問,則被設為一個非空的值(on),否則返回off   
$_SERVER[ 'REMOTE_ADDR' ] #正在瀏覽當前頁面使用者的 IP 地址。   
$_SERVER[ 'REMOTE_HOST' ] #正在瀏覽當前頁面使用者的主機名。   
$_SERVER[ 'REMOTE_PORT' ] #使用者連線到伺服器時所使用的埠。   
$_SERVER[ 'SCRIPT_FILENAME' ] #當前執行指令碼的絕對路徑名。   
$_SERVER[ 'SERVER_ADMIN' ] #管理員資訊   
$_SERVER[ 'SERVER_PORT' ] #伺服器所使用的埠   
$_SERVER[ 'SERVER_SIGNATURE' ] #包含伺服器版本和虛擬主機名的字串。   
$_SERVER[ 'PATH_TRANSLATED' ] #當前指令碼所在檔案系統(不是文件根目錄)的基本路徑。   
$_SERVER[ 'SCRIPT_NAME' ] #包含當前指令碼的路徑。這在頁面需要指向自己時非常有用。   
$_SERVER[ 'REQUEST_URI' ] #訪問此頁面所需的 URI。例如,“/index.html”。   
$_SERVER[ 'PHP_AUTH_USER' ] #當 PHP 執行在 Apache 模組方式下,並且正在使用 HTTP 認證功能,這個變數便是使用者輸入的使用者名稱。   
$_SERVER[ 'PHP_AUTH_PW' ] #當 PHP 執行在 Apache 模組方式下,並且正在使用 HTTP 認證功能,這個變數便是使用者輸入的密碼。   
$_SERVER[ 'AUTH_TYPE' ] #當 PHP 執行在 Apache 模組方式下,並且正在使用 HTTP 認證功能,這個變數便是認證的型別。 

 

 

 

相關文章