PHP編程中經(jīng)常需要用到一些服務(wù)器的一些資料,特把$_SERVER的詳細參數(shù)整理下,方便以后使用。
判斷瀏覽器類型
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
//判斷類型 <?php if ( strpos ( $_SERVER [ "HTTP_USER_AGENT" ], "MSIE 8.0" )) echo "Internet Explorer 8.0" ; else if ( strpos ( $_SERVER [ "HTTP_USER_AGENT" ], "MSIE 7.0" )) echo "Internet Explorer 7.0" ; else if ( strpos ( $_SERVER [ "HTTP_USER_AGENT" ], "MSIE 6.0" )) echo "Internet Explorer 6.0" ; else if ( strpos ( $_SERVER [ "HTTP_USER_AGENT" ], "Firefox/3" )) echo "Firefox 3" ; else if ( strpos ( $_SERVER [ "HTTP_USER_AGENT" ], "Firefox/2" )) echo "Firefox 2" ; else if ( strpos ( $_SERVER [ "HTTP_USER_AGENT" ], "Chrome" )) echo "Google Chrome" ; else if ( strpos ( $_SERVER [ "HTTP_USER_AGENT" ], "Safari" )) echo "Safari" ; else if ( strpos ( $_SERVER [ "HTTP_USER_AGENT" ], "Opera" )) echo "Opera" ; else echo $_SERVER [ "HTTP_USER_AGENT" ]; ?> |
判斷語言
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
<?php $lang = substr ( $_SERVER [ 'HTTP_ACCEPT_LANGUAGE' ], 0, 4); //只取前4位,這樣只判斷最優(yōu)先的語言。如果取前5位,可能出現(xiàn)en,zh的情況,影響判斷。 if (preg_match( "/zh-c/i" , $lang )) echo "簡體中文" ; else if (preg_match( "/zh/i" , $lang )) echo "繁體中文" ; else if (preg_match( "/en/i" , $lang )) echo "English" ; else if (preg_match( "/fr/i" , $lang )) echo "French" ; else if (preg_match( "/de/i" , $lang )) echo "German" ; else if (preg_match( "/jp/i" , $lang )) echo "Japanese" ; else if (preg_match( "/ko/i" , $lang )) echo "Korean" ; else if (preg_match( "/es/i" , $lang )) echo "Spanish" ; else if (preg_match( "/sv/i" , $lang )) echo "Swedish" ; else echo $_SERVER [ "HTTP_ACCEPT_LANGUAGE" ]; ?> |
判斷瀏覽器內(nèi)核的PHP程序
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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
|
<?php error_reporting (E_ALL & ~ E_NOTICE); class clientGetObj { function getBrowse() { global $_SERVER ; $Agent = $_SERVER [ 'HTTP_USER_AGENT' ]; $browser = '' ; $browserver = '' ; $Browser = array ( 'Lynx' , 'MOSAIC' , 'AOL' , 'Opera' , 'JAVA' , 'MacWeb' , 'WebExplorer' , 'OmniWeb' ); for ( $i = 0; $i <= 7; $i ++){ if ( strpos ( $Agent , $Browsers [ $i ])){ $browser = $Browsers [ $i ]; $browserver = '' ; } } if (preg_match( '/Mozilla/' , $Agent ) && !preg_match( '/MSIE/' , $Agent )){ $temp = explode ( '(' , $Agent ); $Part = $temp [0]; $temp = explode ( '/' , $Part ); $browserver = $temp [1]; $temp = explode ( ' ' , $browserver ); $browserver = $temp [0]; $browserver = preg_replace( '/([d.]+)/' , '1' , $browserver ); $browserver = $browserver ; $browser = 'Netscape Navigator' ; } if (preg_match( '/Mozilla/' , $Agent ) && preg_match( '/Opera/' , $Agent )) { $temp = explode ( '(' , $Agent ); $Part = $temp [1]; $temp = explode ( ')' , $Part ); $browserver = $temp [1]; $temp = explode ( ' ' , $browserver ); $browserver = $temp [2]; $browserver = preg_replace( '/([d.]+)/' , '1' , $browserver ); $browserver = $browserver ; $browser = 'Opera' ; } if (preg_match( '/Mozilla/' , $Agent ) && preg_match( '/MSIE/' , $Agent )){ $temp = explode ( '(' , $Agent ); $Part = $temp [1]; $temp = explode ( ';' , $Part ); $Part = $temp [1]; $temp = explode ( ' ' , $Part ); $browserver = $temp [2]; $browserver = preg_replace( '/([d.]+)/' , '1' , $browserver ); $browserver = $browserver ; $browser = 'Internet Explorer' ; } if ( $browser != '' ){ $browseinfo = $browser . ' ' . $browserver ; } else { $browseinfo = false; } return $browseinfo ; } function getIP () { global $_SERVER ; if ( getenv ( 'HTTP_CLIENT_IP' )) { $ip = getenv ( 'HTTP_CLIENT_IP' ); } else if ( getenv ( 'HTTP_X_FORWARDED_FOR' )) { $ip = getenv ( 'HTTP_X_FORWARDED_FOR' ); } else if ( getenv ( 'REMOTE_ADDR' )) { $ip = getenv ( 'REMOTE_ADDR' ); } else { $ip = $_SERVER [ 'REMOTE_ADDR' ]; } return $ip ; } function getOS () { global $_SERVER ; $agent = $_SERVER [ 'HTTP_USER_AGENT' ]; $os = false; if (preg_match( '/win/' , $agent ) && strpos ( $agent , '95' )){ $os = 'Windows 95' ; } else if (preg_match( '/win 9x/' , $agent ) && strpos ( $agent , '4.90' )){ $os = 'Windows ME' ; } else if (preg_match( '/win/' , $agent ) && preg_match( '98' , $agent )){ $os = 'Windows 98' ; } else if (preg_match( '/win/' , $agent ) && preg_match( 'nt 5.1' , $agent )){ $os = 'Windows XP' ; } else if (preg_match( '/win/' , $agent ) && preg_match( 'nt 5' , $agent )){ $os = 'Windows 2000' ; } else if (preg_match( '/win/' , $agent ) && preg_match( 'nt' , $agent )){ $os = 'Windows NT' ; } else if (preg_match( '/win/' , $agent ) && preg_match( '32' , $agent )){ $os = 'Windows 32' ; } else if (preg_match( '/linux/' , $agent )){ $os = 'Linux' ; } else if (preg_match( '/unix/' , $agent )){ $os = 'Unix' ; } else if (preg_match( '/sun/' , $agent ) && preg_match( 'os' , $agent )){ $os = 'SunOS' ; } else if (preg_match( '/ibm/' , $agent ) && preg_match( 'os' , $agent )){ $os = 'IBM OS/2' ; } else if (preg_match( '/Mac/' , $agent ) && preg_match( 'PC' , $agent )){ $os = 'Macintosh' ; } else if (preg_match( '/PowerPC/' , $agent )){ $os = 'PowerPC' ; } else if (preg_match( '/AIX/' , $agent )){ $os = 'AIX' ; } else if (preg_match( '/HPUX/' , $agent )){ $os = 'HPUX' ; } else if (preg_match( '/NetBSD/' , $agent )){ $os = 'NetBSD' ; } else if (preg_match( '/BSD/' , $agent )){ $os = 'BSD' ; } else if (preg_match( '/OSF1/' , $agent )){ $os = 'OSF1' ; } else if (preg_match( '/IRIX/' , $agent )){ $os = 'IRIX' ; } else if (preg_match( '/FreeBSD/' , $agent )){ $os = 'FreeBSD' ; } else if (preg_match( '/teleport/' , $agent )){ $os = 'teleport' ; } else if (preg_match( '/flashget/' , $agent )){ $os = 'flashget' ; } else if (preg_match( '/webzip/' , $agent )){ $os = 'webzip' ; } else if (preg_match( '/offline/' , $agent )){ $os = 'offline' ; } else { $os = 'Unknown' ; } return $os ; } } $code = new clientGetObj; echo $str1 = $code ->getBrowse(). "<br>" ; //瀏覽器: echo $str2 = $code ->getIP(). "<br>" ; //IP地址: echo $str3 = $code ->getOS(); //操作系統(tǒng): ?> |
以上就是個人整理的關(guān)于$_SERVER獲取服務(wù)器信息的常用信息了,希望大家能夠喜歡。