HOBALL 筆記簿

August 30, 2008

PHP服務器變量 $_SERVER 詳解

Filed under: PHP — Tags: , — hoball @ 6:40 pm
服務器變量 $_SERVER 詳解:” n( l6 S5 F! f/ r: k9 C
1、$_SESSION[‘PHP_SELF’] — 獲取當前正在執行腳本的文件名 `* W( o% W8 o9 q/ f* \/ ]8 t
2、$_SERVER[‘SERVER_PROTOCOL’] — 請求頁面時通信協議的名稱和版本。例如,“HTTP/1.0”。 3 z: k) `/ Z% E- z$ {1 O. }
3、$_SERVER[‘REQUEST_TIME’] — 請求開始時的時間戳。從 PHP 5.1.0 起有效。和time函數效果一樣。
/ B: j( ?5 r5 Q4、$_SERVER[‘argv’] — 傳遞給該腳本的參數。我試了下,get方法可以得到$_SERVER[‘argv’][0];post方法無法給他賦值。
1 M! W3 j- P* T’ Q) u5、$_SERVER[‘SERVER_NAME’] — 返回當前主機名。: y( s6 }! G$ k
6、$_SERVER[‘SERVER_SOFTWARE’] — 服務器標識的字串,在響應請求時的頭信息中給出。 如Microsoft-IIS/6.0
9 R) k  N$ A: B% N4 S7、$_SERVER[‘REQUEST_METHOD’] — 訪問頁面時的請求方法。例如:“GET”、“HEAD”,“POST”,“PUT”。
3 v$ V! O& X1 H) f/ [# b8、$_SERVER[‘QUERY_STRING’] — 查詢(query)的字符串(URL 中第一個問號 ? 之後的內容)。 – Z/ l3 c# Y! A1 y) |& R
9、$_SERVER[‘DOCUMENT_ROOT’] — 當前運行腳本所在的文檔根目錄。在服務器配置文件中定義。 如E:\server
+ Q4 G’ g+ h# j5 ]’ b10、$_SERVER[‘HTTP_ACCEPT’] — 當前請求的 Accept: 頭信息的內容。
( m* [; |0 |6 f! p5 i$ ]11、$_SERVER[‘HTTP_ACCEPT_CHARSET’] — 當前請求的 Accept-Charset: 頭信息的內容。例如:“iso-8859-1,*,utf-8”。 3 n* p2 K( ?5 d% e7 T
12、$_SERVER[‘HTTP_ACCEPT_ENCODING’] — 當前請求的 Accept-Encoding: 頭信息的內容。例如:“gzip”。 % g- v! P8 Q1 @+ t0 U9 j
13、$_SERVER[‘HTTP_ACCEPT_LANGUAGE’] — 當前請求的 Accept-Language: 頭信息的內容。例如:“en”。 ! d2 z4 \5 m0 E
14、$_SERVER[‘HTTP_CONNECTION’] — 當前請求的 Connection: 頭信息的內容。例如:“Keep-Alive”。
/ r) `8 Q/ j4 [3 Z’ B15、$_SERVER[‘HTTP_HOST’] — 當前請求的 Host: 頭信息的內容。1 Y4 k’ C4 a# i4 G
16、$_SERVER[‘HTTP_REFERER’] — 鏈接到當前頁面的前一頁面的 URL 地址。
+ ]+ l0 q% u2 G& p7 @! r. ?% h17、$_SERVER[‘HTTP_USER_AGENT’] — 返回用戶使用的瀏覽器信息。也可以使用 get_browser() 得到此信息。
5 e! p7 B$ Q/ O: ~  g( N1 _* O; I- t18、$_SERVER[‘HTTPS’] — 如果通過https訪問,則被設為一個非空的值,否則返回off.
; q( z: P8 l2 h. G19、$_SERVER[‘REMOTE_ADDR’] — 正在瀏覽當前頁面用戶的 IP 地址。4 c; H) E& q% h3 k, K; f0 i
20、$_SERVER[‘REMOTE_HOST’] — 正在瀏覽當前頁面用戶的主機名。反向域名解析基於該用戶的 REMOTE_ADDR。如本地測試返回127.0.0.19 ~( q; G- \. w  h( D% t
21、$_SERVER[‘REMOTE_PORT’] — 用戶連接到服務器時所使用的端口。我在本機測試沒通過,不知道什麼原因。 $ [5 ?8 v$ m8 F  f: g
22、$_SERVER[‘SCRIPT_FILENAME’] — 當前執行腳本的絕對路徑名。如返回E:\server\index.php
0 Q” D; ]4 ^: E0 ]& x23、$_SERVER[‘SERVER_ADMIN’] — 該值指明了 Apache 服務器配置文件中的 SERVER_ADMIN 參數。如果腳本運行在一個虛擬主機上,則該值是那個虛擬主機的值 ) s’ W! Q1 w2 s- d8 m% d0 s
24、$_SERVER[‘SERVER_PORT’] — 服務器所使用的端口。默認為“80”。如果使用 SSL 安全連接,則這個值為用戶設置的 HTTP 端口。# s0 t( ^, {: s2 v7 g. G! v6 I
25、$_SERVER[‘SERVER_SIGNATURE’] — 包含服務器版本和虛擬主機名的字符串。 , b% [6 }, j” n/ g9 |$ M1 s” \
26、$_SERVER[‘PATH_TRANSLATED’] –當前腳本所在文件系統(不是文檔根目錄)的基本路徑。這是在服務器進行虛擬到真實路徑的映像後的結果。 Apache 2 用 戶可以使用httpd.conf 中的 AcceptPathInfo On 來定義 PATH_INFO。 I$ E, {3 t+ {
27、$_SERVER[‘SCRIPT_NAME’] — 包含當前腳本的路徑。這在頁面需要指向自己時非常有用。__FILE__ 包含當前文件的絕對路徑和文件名(例如包含文件)。5 L8 A: o) E+ |
28、$_SERVER[‘REQUEST_URI’] — 訪問此頁面所需的 URI。例如,“/index.html”。 : j( R6 ~9 t7 G0 ?’ N
29、$_SERVER[‘PHP_AUTH_DIGEST’] — 當作為 Apache 模塊運行時,進行 HTTP Digest 認證的過程中,此變量被設置成客戶端發送的“Authorization”HTTP 頭內容(以便作進一步的認證操作)。 1 z: U9 v) F+ B1 @7 \* `# |6 [7 D. \
30、$_SERVER[‘PHP_AUTH_USER’]– 當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模塊方式下,並且正在使用 HTTP 認證功能,這個變量便是用戶輸入的用戶名。8 _& D% h8 |; A: N- ]
31、$_SERVER[‘PHP_AUTH_PW’] — 當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模塊方式下,並且正在使用 HTTP 認證功能,這個變量便是用戶輸入的密碼。
% [, }( b$ ~& D4 a- ]32、$_SERVER[‘AUTH_TYPE’]–當 PHP 運行在 Apache 模塊方式下,並且正在使用 HTTP 認證功能,這個變量便是認證的類型。

Leave a Comment »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.

%d bloggers like this: