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
|
function userBrowser() {
$user_OSagent = $_SERVER [ 'HTTP_USER_AGENT' ];
if ( strpos ( $user_OSagent , "Maxthon" ) && strpos ( $user_OSagent , "MSIE" )) {
$visitor_browser = "Maxthon(Microsoft IE)" ;
} elseif ( strpos ( $user_OSagent , "Maxthon 2.0" )) {
$visitor_browser = "Maxthon 2.0" ;
} elseif ( strpos ( $user_OSagent , "Maxthon" )) {
$visitor_browser = "Maxthon" ;
} elseif ( strpos ( $user_OSagent , "MSIE 9.0" )) {
$visitor_browser = "MSIE 9.0" ;
} elseif ( strpos ( $user_OSagent , "MSIE 8.0" )) {
$visitor_browser = "MSIE 8.0" ;
} elseif ( strpos ( $user_OSagent , "MSIE 7.0" )) {
$visitor_browser = "MSIE 7.0" ;
} elseif ( strpos ( $user_OSagent , "MSIE 6.0" )) {
$visitor_browser = "MSIE 6.0" ;
} elseif ( strpos ( $user_OSagent , "MSIE 5.5" )) {
$visitor_browser = "MSIE 5.5" ;
} elseif ( strpos ( $user_OSagent , "MSIE 5.0" )) {
$visitor_browser = "MSIE 5.0" ;
} elseif ( strpos ( $user_OSagent , "MSIE 4.01" )) {
$visitor_browser = "MSIE 4.01" ;
} elseif ( strpos ( $user_OSagent , "MSIE" )) {
$visitor_browser = "MSIE 较高版本" ;
} elseif ( strpos ( $user_OSagent , "NetCaptor" )) {
$visitor_browser = "NetCaptor" ;
} elseif ( strpos ( $user_OSagent , "Netscape" )) {
$visitor_browser = "Netscape" ;
} elseif ( strpos ( $user_OSagent , "Chrome" )) {
$visitor_browser = "Chrome" ;
} elseif ( strpos ( $user_OSagent , "Lynx" )) {
$visitor_browser = "Lynx" ;
} elseif ( strpos ( $user_OSagent , "Opera" )) {
$visitor_browser = "Opera" ;
} elseif ( strpos ( $user_OSagent , "Konqueror" )) {
$visitor_browser = "Konqueror" ;
} elseif ( strpos ( $user_OSagent , "Mozilla/5.0" )) {
$visitor_browser = "Mozilla" ;
} elseif ( strpos ( $user_OSagent , "Firefox" )) {
$visitor_browser = "Firefox" ;
} elseif ( strpos ( $user_OSagent , "U" )) {
$visitor_browser = "Firefox" ;
} else {
$visitor_browser = "其它" ;
}
return $visitor_browser ;
}
|
方法二
下面这个是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
|
private function getBrowser(){
$flag = $_SERVER [ 'HTTP_USER_AGENT' ];
$para = array ();
// 检查操作系统
if (preg_match( '/Windows[\d\. \w]*/' , $flag , $match )) $para [ 'os' ]= $match [0];
if (preg_match( '/Chrome\/[\d\.\w]*/' , $flag , $match )){
// 检查Chrome
$para [ 'browser' ]= $match [0];
} elseif (preg_match( '/Safari\/[\d\.\w]*/' , $flag , $match )){
// 检查Safari
$para [ 'browser' ]= $match [0];
} elseif (preg_match( '/MSIE [\d\.\w]*/' , $flag , $match )){
// IE
$para [ 'browser' ]= $match [0];
} elseif (preg_match( '/Opera\/[\d\.\w]*/' , $flag , $match )){
// opera
$para [ 'browser' ]= $match [0];
} elseif (preg_match( '/Firefox\/[\d\.\w]*/' , $flag , $match )){
// Firefox
$para [ 'browser' ]= $match [0];
} elseif (preg_match( '/OmniWeb\/(v*)([^\s|;]+)/i' , $flag , $match )){
//OmniWeb
$para [ 'browser' ]= $match [2];
} elseif (preg_match( '/Netscape([\d]*)\/([^\s]+)/i' , $flag , $match )){
//Netscape
$para [ 'browser' ]= $match [2];
} elseif (preg_match( '/Lynx\/([^\s]+)/i' , $flag , $match )){
//Lynx
$para [ 'browser' ]= $match [1];
} elseif (preg_match( '/360SE/i' , $flag , $match )){
//360SE
$para [ 'browser' ]= '360安全浏览器' ;
} elseif (preg_match( '/SE 2.x/i' , $flag , $match )) {
//搜狗
$para [ 'browser' ]= '搜狗浏览器' ;
} else {
$para [ 'browser' ]= 'unkown' ;
}
return $para ;
}
|
保存$para即可
php判断浏览器是不是IE
1、$_SERVER['HTTP_USER_AGENT']和strpos
2、打印结果
谷歌:
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.86 Safari/537.36"
火狐:
"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0"
IE:
"Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko"
3、php控制器中
网上说用判断ua中是否有MSIE,然而并没有,用Triden判断也可以的。
1
2
3
4
|
public function isIE() {
$isIE = strpos ( $_SERVER [ 'HTTP_USER_AGENT' ], "Triden" );
return $isIE ;
}
|
总结
以上所述是小编给大家介绍的PHP判断当前使用的是什么浏览器(推荐),希望对大家有所帮助!
原文链接:https://www.cnblogs.com/mrlime/archive/2019/10/27/11746787.html