php中的SERVER變量

1,$_SERVER["QUERY_STRING"]
說明:查詢(query)的字符串

2,$_SERVER["REQUEST_URI"]
說明:訪問此頁面所需的URI

3,$_SERVER["SCRIPT_NAME"]
說明:包含當前腳本的路徑

4,$_SERVER["PHP_SELF"]
說明:當前正在執行腳本的文件名

實例:
1,http://www.biuuu.com/ (直接打開主頁)
結果:
$_SERVER["QUERY_STRING"] = “”
$_SERVER["REQUEST_URI"] = “/”
$_SERVER["SCRIPT_NAME"] = “/index.php”
$_SERVER["PHP_SELF"]     = “/index.php”

2,http://www.biuuu.com/?p=222 (附帶查詢)
結果:
$_SERVER["QUERY_STRING"] = “p=222″
$_SERVER["REQUEST_URI"] = “/?p=222″
$_SERVER["SCRIPT_NAME"] = “/index.php”
$_SERVER["PHP_SELF"]     = “/index.php”

3,http://www.biuuu.com/index.php?p=222&q=biuuu
結果:
$_SERVER["QUERY_STRING"] = “p=222&q=biuuu”
$_SERVER["REQUEST_URI"] = “/index.php?p=222&q=biuuu”
$_SERVER["SCRIPT_NAME"] = “/index.php”
$_SERVER["PHP_SELF"]     = “/index.php”

$_SERVER["QUERY_STRING"]獲取查詢語句,實例中可知,獲取的是?後面的值
$_SERVER["REQUEST_URI"] 獲取http://www.biuuu.com後面的值,包括/
$_SERVER["SCRIPT_NAME"] 獲取當前腳本的路徑,如:index.php
$_SERVER["PHP_SELF"] 當前正在執行腳本的文件名
當前url:”http://”.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']

總結一下,對於QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF,深入瞭解將有利於我們 在$_SERVER函數中正確調用這四個值。通過實例詳解$_SERVER函數中 QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF掌握四個變量之間的區別。

1.

$_SERVER['HTTP_ACCEPT_LANGUAGE']//瀏覽器語言

顯示:zh-cn

2.

$_SERVER['REMOTE_ADDR'] //當前用戶 IP 。

顯示:127.0.0.1

3.

$_SERVER['REMOTE_HOST'] //當前用戶主機名

顯示:

4

$_SERVER['REQUEST_URI'] //URL

顯示:/test.php

5

$_SERVER['REMOTE_PORT'] //端口。

顯示:3864

6

$_SERVER['SERVER_NAME'] //服務器主機的名稱。

顯示:127.0.0.1

7

$_SERVER['PHP_SELF']//正在執行腳本的文件名

顯示:/test.php

8

$_SERVER['argv'] //傳遞給該腳本的參數。

顯示:ARRAY

9

$_SERVER['argc'] //傳遞給程序的命令行參數的個數。

顯示:0

10

$_SERVER['GATEWAY_INTERFACE']//CGI 規範的版本。

顯示: CGI/1.1

11

$_SERVER['SERVER_SOFTWARE'] //服務器標識的字串

顯示:Apache/2.0.52 (Win32) PHP/5.2.1

12

$_SERVER['SERVER_PROTOCOL'] //請求頁面時通信協議的名稱和版本

顯示:HTTP/1.1

13

$_SERVER['REQUEST_METHOD']//訪問頁面時的請求方法

顯示:GET

14

$_SERVER['QUERY_STRING'] //查詢(query)的字符串。

顯示:

15

$_SERVER['DOCUMENT_ROOT'] //當前運行腳本所在的文檔根目錄

顯示:D:/Program Files/Apache/www

16

$_SERVER['HTTP_ACCEPT'] //當前請求的 Accept: 頭部的內容。

顯示:*/*

17

$_SERVER['HTTP_ACCEPT_CHARSET'] //當前請求的 Accept-Charset: 頭部的內容。

顯示:

18

$_SERVER['HTTP_ACCEPT_ENCODING'] //當前請求的 Accept-Encoding: 頭部的內容

顯示:gzip,deflate

19

$_SERVER['HTTP_CONNECTION'] //當前請求的 Connection: 頭部的內容。例如:“Keep-Alive”。

顯示:Keep-Alive

20

$_SERVER['HTTP_HOST'] //當前請求的 Host: 頭部的內容。

顯示:127.0.0.1:8080

21

$_SERVER['HTTP_REFERER'] //鏈接到當前頁面的前一頁面的 URL 地址。

顯示:http://127.0.0.1:8080/

22

$_SERVER['HTTP_USER_AGENT'] //當前請求的 User_Agent: 頭部的內容。

顯示:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 2.0.50727)

23

$_SERVER['HTTPS']//如果通過https訪問,則被設爲一個非空的值(on),否則返回off

顯示:

24

$_SERVER['SCRIPT_FILENAME'] #當前執行腳本的絕對路徑名。

顯示:D:/Program Files/Apache/www/test.php

25

$_SERVER['SERVER_ADMIN'] #管理員信息

顯示:[email protected]

26

$_SERVER['SERVER_PORT'] #服務器所使用的端口

顯示:8080

27

$_SERVER['SERVER_SIGNATURE'] #包含服務器版本和虛擬主機名的字符串。

顯示:Apache/2.0.52 (Win32) PHP/5.2.1 Server at 10.145.40.150 Port 8080

28

$_SERVER['PATH_TRANSLATED'] #當前腳本所在文件系統(不是文檔根目錄)的基本路徑。

顯示:

29

$_SERVER['SCRIPT_NAME'] #包含當前腳本的路徑。這在頁面需要指向自己時非常有用。

顯示 :/test.php

30

$_SERVER['PHP_AUTH_USER'] #當 PHP 運行在 Apache 模塊方式下,並且正在使用 HTTP 認證功能,這個變量便是用戶輸入的用戶名。

顯示:

31

$_SERVER['PHP_AUTH_PW'] #當 PHP 運行在 Apache 模塊方式下,並且正在使用 HTTP 認證功能,這個變量便是用戶輸入的密碼。

顯示:

32

$_SERVER['AUTH_TYPE'] #當 PHP 運行在 Apache 模塊方式下,並且正在使用 HTTP 認證功能,這個變量便是認證的類型

顯示:

例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
<?php

 
$c = 1 ;
 
$a = array ( $_SERVER [ 'HTTP_ACCEPT_LANGUAGE' ] ,
 
$_SERVER [ 'REMOTE_ADDR' ] ,
 
$_SERVER [ 'REMOTE_HOST' ] ,
 
$_SERVER [ 'REQUEST_URI' ] ,
 
$_SERVER [ 'REMOTE_PORT' ] ,
 
$_SERVER [ 'SERVER_NAME' ] ,
 
$_SERVER [ 'PHP_SELF' ] ,
 
$_SERVER [ 'argv' ] ,
 
$_SERVER [ 'argc' ] ,
 
$_SERVER [ 'GATEWAY_INTERFACE' ] ,
 
$_SERVER [ 'SERVER_SOFTWARE' ] ,
 
$_SERVER [ 'SERVER_PROTOCOL' ] ,
 
$_SERVER [ 'REQUEST_METHOD' ] ,
 
$_SERVER [ 'QUERY_STRING' ] ,
 
$_SERVER [ 'DOCUMENT_ROOT' ] ,
 
$_SERVER [ 'HTTP_ACCEPT' ] ,
 
$_SERVER [ 'HTTP_ACCEPT_CHARSET' ] ,
 
$_SERVER [ 'HTTP_ACCEPT_ENCODING' ] ,
 
$_SERVER [ 'HTTP_CONNECTION' ] ,
 
$_SERVER [ 'HTTP_HOST' ] ,
 
$_SERVER [ 'HTTP_REFERER' ] ,
 
$_SERVER [ 'HTTP_USER_AGENT' ] ,
 
$_SERVER [ 'HTTPS' ] ,
 
$_SERVER [ 'SCRIPT_FILENAME' ] ,
 
$_SERVER [ 'SERVER_ADMIN' ] ,
 
$_SERVER [ 'SERVER_PORT' ] ,
 
$_SERVER [ 'SERVER_SIGNATURE' ] ,
 
$_SERVER [ 'PATH_TRANSLATED' ] ,
 
$_SERVER [ 'SCRIPT_NAME' ] ,
 
$_SERVER [ 'PHP_AUTH_USER' ] ,
 
$_SERVER [ 'PHP_AUTH_PW' ] ,
 
$_SERVER [ 'AUTH_TYPE' ] ) ;
 
foreach ( $a as $key => $b ) {
 
echo $c . "----" ;
 
echo $b . "<br>" ;
 
$c ++;
 
}
 
?>
 
顯示結果:
 
1----zh-cn
 
2----10.145.40.150
 
3----
 
4----/text.php
 
5----3867
 
6----10.145.40.150
 
7----/text.php
 
8----Array
 
9----0
 
10----CGI/1.1
 
11----Apache/2.0.52 (Win32) PHP/5.2.1
 
12----HTTP/1.1
 
13----GET
 
14----
 
15----D:/Program Files/Apache/www
 
16----*/*
 
17----
 
18----gzip, deflate
 
19----Keep-Alive
 
20----10.145.40.150:8080
 
21----http://10.145.40.150:8080/
 
22----Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.0.3705; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
 
23----
 
24----D:/Program Files/Apache/www/text.php
 
[email protected]
 
26----8080
 
27----
 
Apache/2.0.52 (Win32) PHP/5.2.1 Server at 10.145.40.150 Port 8080
 
28----
 
29----/text.php
 
30----
 
31----
 
32----
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章