服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - PHP教程 - PHP判断浏览器、判断语言代码分享

PHP判断浏览器、判断语言代码分享

2020-09-08 14:13PHP教程网 PHP教程

这篇文章主要给大家分享了PHP判断浏览器、判断语言的代码,十分的简单,主要是对服务器预定义变量$_SERVER的获取分析,这里推荐给大家。

PHP编程中经常需要用到一些服务器的一些资料,特把$_SERVER的详细参数整理下,方便以后使用。

判断浏览器类型

?
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位,这样只判断最优先的语言。如果取前5位,可能出现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"];
?>

判断浏览器内核的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();//操作系统: 
?>
 

以上就是个人整理的关于$_SERVER获取服务器信息的常用信息了,希望大家能够喜欢。

延伸 · 阅读

精彩推荐