/**
* 获取客户端游览器
* @params $ua User-Agent
* @author haha 2016-01-21
*/
public function getClientBroswer($ua = '') {
$ua or $ua = $_SERVER['HTTP_USER_AGENT'];
//微信打开
if (stripos($ua, 'MicroMessenger')) {
preg_match('/MicroMessenger\/([\d\.]+)/i', $ua, $match);
return 'Wechat '. $match[1];
}
//获取火狐浏览器的版本号
if (stripos($ua, 'Firefox/')) {
preg_match('/Firefox\/([^;)]+)/i', $ua, $match);
$exp[0] = 'Firefox';
$exp[1] = $match[1];
}
//360游览器
else if(stripos($ua,'360SE')) {
$exp[0] = '360游览器';
$exp[1] = '';
}
//搜狗游览器
else if(stripos($ua, 'SE') && stripos($ua, 'MetaSr')) {
preg_match('/SE\s([\w\.]+)/i', $ua, $match);
$exp[0] = '搜狗';
$exp[1] = $match[1];
}
//获取google chrome的版本号
else if (stripos($ua, 'Chrome')) {
preg_match('/Chrome\/([\d\.]+)/', $ua, $match);
$exp[0] = 'Chrome';
$exp[1] = $match[1];
}
//遨游游览器
elseif (stripos($ua, 'Maxthon')) {
preg_match('/Maxthon([\s\d\.]+)/', $ua, $match);
$exp[0] = '傲游';
$exp[1] = $match[1];
}
//欧朋游览器
elseif (stripos($ua, 'opera')) {
preg_match('/opera\/([\d\.\/]+)/', $ua, $match);
$exp[0] = 'Opera';
$exp[1] = $match[1];
}
//win10 Edge浏览器 添加了chrome内核标记 在判断Chrome之前匹配
else if(stripos($ua, 'Edge')) {
preg_match('/Edge\/([\d\.]+)/', $ua, $match);
$exp[0] = 'Edge';
$exp[1] = $match[1];
}
//UC游览器
else if(stripos($ua,'UCBrowser')) {
preg_match('/UCBrowser\/([\d\.]+)/', $ua, $match);
$exp[0] = 'UCBrowser ';
$exp[1] = $match[1];
}
//QQ游览器(note:移动端没有检测版本号)
else if(stripos($ua,'TencentTraveler') || stripos($ua,'QQBrowser')) {
preg_match('/TencentTraveler\s([\d\.]+)/', $ua, $match);
$exp[0] = 'QQ游览器';
$exp[1] = $match[1];
}
//百度游览器
else if(stripos($ua,'baidubrowser')) {
preg_match('/baidubrowser\/([\d\.]+)/', $ua, $match);
$exp[0] = '百度游览器';
$exp[1] = $match[1];
}
//IE11
else if(stripos($ua,'rv:')) {
preg_match('/rv:([\d\.]+)/', $ua, $match);
$exp[0] = 'IE';
$exp[1] = $match[1];
}
//移动设备的IE游览器
else if(stripos($ua, 'IEMobile')) {
preg_match('/IEMobile\/([\d\.]+)+/i', $ua, $match);
$exp[0] = 'IE';
$exp[1] = $match[1];
}
//获取IE的版本号
else if (stripos($ua, 'MSIE')) {
preg_match('/MSIE\s+([^;)]+)+/i', $ua, $match);
$exp[0] = 'IE';
$exp[1] = $match[1];
}
else {
$exp[0] = '未知浏览器';
$exp[1] = '';
}
return implode(' ',$exp);
}
/**
* 获取客户端OS
* @params $ua User-Agent
* @author haha 2016-01-21
*/
public function getClientOS($ua = '')
{
$ua or $ua = $_SERVER['HTTP_USER_AGENT'];
//window系统
if (stripos($ua, 'window')) {
$os = 'Windows';
if (preg_match('/nt 6.0/i', $ua)) {
$os .= ' Vista';
} else if (preg_match('/nt 6.1/i', $ua)) {
$os .= ' 7';
} else if (preg_match('/nt 6.2/i', $ua)) {
$os .= ' 8';
} else if (preg_match('/nt 10.0/i', $ua)) {
$os .= ' 10';
} else if (preg_match('/nt 5.1/i', $ua)) {
$os .= ' XP';
} else {
//其他window操作系统
}
}
else if (stripos($ua, 'android')) {
preg_match('/android\s([\d\.]+)/i', $ua, $match);
$os = 'Android ';
$os .= $match[1];
}
else if(preg_match('/iPhone|iPad|iPod/i',$ua)) {
preg_match('/OS\s([0-9_\.]+)/i', $ua, $match);
$os = 'IOS ';
$os .= str_replace('_','.',$match[1]);
}
else if (stripos($ua, 'mac os')) {
preg_match('/Mac OS X\s([0-9_\.]+)/i', $ua, $match);
$os = 'Mac OS X ';
$os .= str_replace('_','.',$match[1]);
}
else if (stripos($ua, 'unix')) {
$os = 'Unix';
}
else if (stripos($ua, 'linux')) {
$os = 'Linux';
}
else {
$os = 'Other';
}
return $os;
}
微信
支付宝