gmdzxx 发表于 2015-8-26 14:04:08

php判断操作系统版本及浏览器版本的函数-超级好用哦!

1 <?php
2/**
3 * 取得阅读器名称和版本
4 *
5 * @access public
6 * @return string
7 */
8 function getbrowser()
9 {
10   global $_SERVER;
11
12   $agent= $_SERVER['HTTP_USER_AGENT'];
13   $browser= '';
14   $browser_ver= '';
15
16   if (preg_match('/OmniWeb\/(v*)([^\s|;]+)/i', $agent, $regs))
17   {
18         $browser='OmniWeb';
19         $browser_ver= $regs;
20   }
21
22   if (preg_match('/Netscape([\d]*)\/([^\s]+)/i', $agent, $regs))
23   {
24         $browser='Netscape';
25         $browser_ver= $regs;
26   }
27
28   if (preg_match('/safari\/([^\s]+)/i', $agent, $regs))
29   {
30         $browser='Safari';
31         $browser_ver=$regs;
32   }
33
34   if (preg_match('/MSIE\s([^\s|;]+)/i', $agent, $regs))
35   {
36         $browser='Internet Explorer';
37         $browser_ver= $regs;
38   }
39
40   if (preg_match('/Opera[\s|\/]([^\s]+)/i', $agent, $regs))
41   {
42         $browser='Opera';
43         $browser_ver=$regs;
44   }
45
46   if (preg_match('/NetCaptor\s([^\s|;]+)/i', $agent, $regs))
47   {
48         $browser='(Internet Explorer ' .$browser_ver. ') NetCaptor';
49         $browser_ver= $regs;
50   }
51
52   if (preg_match('/Maxthon/i', $agent, $regs))
53   {
54         $browser='(Internet Explorer ' .$browser_ver. ') Maxthon';
55         $browser_ver='';
56   }
57
58   if (preg_match('/FireFox\/([^\s]+)/i', $agent, $regs))
59   {
60         $browser='FireFox';
61         $browser_ver=$regs;
62   }
63
64   if (preg_match('/Lynx\/([^\s]+)/i', $agent, $regs))
65   {
66         $browser='Lynx';
67         $browser_ver=$regs;
68   }
69
70   if ($browser != '')
71   {
72         return $browser.' '.$browser_ver;
73   }
74   else
75   {
76         return 'Unknow browser';
77   }
78 }
79
80 /**
81 * 取得客户真个操作体系
82 *
83 * @access private
84 * @return void
85 */
86 function get_os()
87 {
88   $agent = $_SERVER['HTTP_USER_AGENT'];
89   $os = false;
90
91   if (eregi('win', $agent) && strpos($agent, '95'))
92   {
93       $os = 'Windows 95';
94   }
95   else if (eregi('win 9x', $agent) && strpos($agent, '4.90'))
96   {
97       $os = 'Windows ME';
98   }
99   else if (eregi('win', $agent) && ereg('98', $agent))
100   {
101       $os = 'Windows 98';
102   }
103   else if (eregi('win', $agent) && eregi('nt 6.0', $agent))
104   {
105       $os = 'Windows Vista';
106   }
107   else if (eregi('win', $agent) && eregi('nt 6.1', $agent))
108   {
109       $os = 'Windows 7';
110   }
111   else if (eregi('win', $agent) && eregi('nt 5.1', $agent))
112   {
113       $os = 'Windows XP';
114   }
115   else if (eregi('win', $agent) && eregi('nt 5', $agent))
116   {
117       $os = 'Windows 2000';
118   }
119   else if (eregi('win', $agent) && eregi('nt', $agent))
120   {
121       $os = 'Windows NT';
122   }
123   else if (eregi('win', $agent) && ereg('32', $agent))
124   {
125       $os = 'Windows 32';
126   }
127   else if (eregi('linux', $agent))
128   {
129       $os = 'Linux';
130   }
131   else if (eregi('unix', $agent))
132   {
133       $os = 'Unix';
134   }
135   else if (eregi('sun', $agent) && eregi('os', $agent))
136   {
137       $os = 'SunOS';
138   }
139   else if (eregi('ibm', $agent) && eregi('os', $agent))
140   {
141       $os = 'IBM OS/2';
142   }
143   else if (eregi('Mac', $agent) && eregi('PC', $agent))
144   {
145       $os = 'Macintosh';
146   }
147   else if (eregi('PowerPC', $agent))
148   {
149       $os = 'PowerPC';
150   }
151   else if (eregi('AIX', $agent))
152   {
153       $os = 'AIX';
154   }
155   else if (eregi('HPUX', $agent))
156   {
157       $os = 'HPUX';
158   }
159   else if (eregi('NetBSD', $agent))
160   {
161       $os = 'NetBSD';
162   }
163   else if (eregi('BSD', $agent))
164   {
165       $os = 'BSD';
166   }
167   else if (ereg('OSF1', $agent))
168   {
169       $os = 'OSF1';
170   }
171   else if (ereg('IRIX', $agent))
172   {
173       $os = 'IRIX';
174   }
175   else if (eregi('FreeBSD', $agent))
176   {
177       $os = 'FreeBSD';
178   }
179   else if (eregi('teleport', $agent))
180   {
181       $os = 'teleport';
182   }
183   else if (eregi('flashget', $agent))
184   {
185       $os = 'flashget';
186   }
187   else if (eregi('webzip', $agent))
188   {
189       $os = 'webzip';
190   }
191   else if (eregi('offline', $agent))
192   {
193       $os = 'offline';
194   }
195   else
196   {
197       $os = 'Unknown';
198   }
199   return $os;
200 }
201
202 // 调用方式:
203 echo get_os();
204 echo getbrowser();
页: [1]
查看完整版本: php判断操作系统版本及浏览器版本的函数-超级好用哦!