其实就是从HTTP_USER_AGENT获取的,以下是完整代码,直接用就可以<?php
var_dump($_SERVER['HTTP_USER_AGENT']);
//string(150) "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36 Core/1.47.277.400 QQBrowser/9.4.7658.400"
function GetBrowser(){
$br = $_SERVER['HTTP_USER_AGENT'];
if(!empty($br)){
if (preg_match('/MSIE/i',$br)) {
$br = 'MSIE';
}elseif (preg_match('/Firefox/i',$br)) {
$br = 'Firefox';
}elseif (preg_match('/Chrome/i',$br)) {
$br = 'Chrome';
}elseif (preg_match('/Safari/i',$br)) {
$br = 'Safari';
}elseif (preg_match('/Opera/i',$br)) {
$br = 'Opera';
}else {
$br = 'Other';
}
return $br;
}else{
return "获取浏览器信息失败!";
}
}
function GetOs(){
$OS = $_SERVER['HTTP_USER_AGENT'];
if(!empty($OS)){
if(preg_match('/win/i',$OS) && preg_match('/nt 5.1/i', $OS)){
$OS = 'Windows XP';
}elseif(preg_match('/win/i',$OS) && preg_match('/nt 5.2/i', $OS)){
$OS = 'Windows';
}elseif(preg_match('/win/i',$OS) && preg_match('/nt 5/i', $OS)){
$OS = 'Windows2000';
}elseif(preg_match('/win/i',$OS) && preg_match('/nt 6.1/i', $OS)){
$OS = 'Windows7';
}elseif(preg_match('/win/i',$OS) && preg_match('/nt 10.0/i', $OS)){
$OS = 'Windows10';
}elseif(preg_match('/win/i',$OS) && preg_match('/nt 6.3/i', $OS)){
$OS = 'Windows8.1';
}elseif (preg_match('/android/i',$OS)) {
$OS = 'Android';
}elseif (preg_match('/mac/i',$OS)) {
$OS = 'MAC';
}elseif (preg_match('/linux/i',$OS)) {
$OS = 'Linux';
}elseif (preg_match('/unix/i',$OS)) {
$OS = 'Unix';
}elseif (preg_match('/bsd/i',$OS)) {
$OS = 'BSD';
}else {
$OS = 'Other';
}
return $OS;
}else{
return "获取访客操作系统信息失败!";
}
}
echo GetBrowser();
echo GetOs();
?>