php中的SERVER變數
$_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'] #管理員資訊
顯示:w@w.com
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
25----w@w.com
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----
相關文章
- PHP超全域性變數$_SERVER分析PHP變數Server
- PHP中GET與POST變數PHP變數
- PHP中$_SERVER的常用引數與說明——收錄篇PHPServer
- php中的動態變數的一個應用PHP變數
- 淺談php變數的實現-PHPPHP變數
- 【深入 PHP】PHP7 的基本變數PHP變數
- 2020024 - PHP 變數PHP變數
- 在 Laravel 中將 PHP 變數轉化為 JavaScript 變數並輸出LaravelPHP變數JavaScript
- PHP 引用變數名與 foreach 中 $val 同名時發生的變化PHP變數
- SQL Server解惑——查詢條件IN中能否使用變數SQLServer變數
- PHP變數型別PHP變數型別
- golang中http server.go中的testHookServerServe函式變數寫法問題GolangHTTPServerHook函式變數
- 【SQL Server】常用全域性變數SQLServer變數
- PHP 函式可變數量的引數列表PHP函式變數
- c++中的變數型別_C ++中的變數C++變數型別
- JS中的變數JS變數
- PHP 超級全域性變數PHP變數
- PHP->GO 基礎-變數PHPGo變數
- PHP變數與常量學習PHP變數
- PHP 變數的四大作用域PHP變數
- php判斷變數是不是null的方法PHP變數Null
- Blade 模板,輸出 PHP 變數到 JavaScript 指令碼中的正確方式PHP變數JavaScript指令碼
- 自學PHP筆記(四) PHP變數和常量PHP筆記變數
- 自學PHP筆記(四) PHP常量和變數PHP筆記變數
- php底層原理之變數(一)PHP變數
- PHP變數覆蓋漏洞小結PHP變數
- PHP基本語法學習 [變數]PHP變數
- php底層原理之變數(二)PHP變數
- MySQL中的@變數名MySql變數
- MariaDB/MySQL中的變數MySql變數
- CentOS shell中的變數CentOS變數
- Python中類變數、成員變數、區域性變數的區別Python變數
- MySQL中變數的定義和變數的賦值使用MySql變數賦值
- Python中的全域性變數和區域性變數Python變數
- PHP程式碼簡潔之道——變數部分PHP變數
- PHP底層核心原始碼之變數PHP原始碼變數
- JavaScript中的安全變數引用JavaScript變數
- java中變數的作用域Java變數
- [譯] JavaScript 中的私有變數JavaScript變數