php $_SERVER[HTTP_USER_AGENT] 获取用户浏览器信息
|
用户访问服务器时,利用PHP的超级全局变量$_SERVER数组中字段['HTTP_USER_AGENT'] 获取访问用户的所有信息 echo $_SERVER['HTTP_USER_AGENT']; ?> 返回结果: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/48.0.2564.109 Safari/537.36 那么我们如何从返回的值中获取用户浏览器的信息呢?我们可以写一个函数,然后使用正则表达式提取用户浏览器的类型和信息。 function get_user_browser() { if (empty($_SERVER['HTTP_USER_AGENT'])) { return ''; } $agent = $_SERVER['HTTP_USER_AGENT']; $browser = ''; $browser_ver = ''; if (preg_match('/MSIEs([^s|;]+)/i',$agent,$regs)) { $browser = 'Internet Explorer'; $browser_ver = $regs[1]; } elseif (preg_match('/FireFox/([^s]+)/i',$regs)) { $browser = 'FireFox'; $browser_ver = $regs[1]; } elseif (preg_match('/Maxthon/i',$regs)) { $browser = '(Internet Explorer ' .$browser_ver. ') Maxthon'; $browser_ver = ''; } elseif (preg_match('/Opera[s|/]([^s]+)/i',$regs)) { $browser = 'Opera'; $browser_ver = $regs[1]; } elseif (preg_match('/OmniWeb/(v*)([^s|;]+)/i',$regs)) { $browser = 'OmniWeb'; $browser_ver = $regs[2]; } elseif (preg_match('/Netscape([d]*)/([^s]+)/i',$regs)) { $browser = 'Netscape'; $browser_ver = $regs[2]; } elseif (preg_match('/safari/([^s]+)/i',$regs)) { $browser = 'Safari'; $browser_ver = $regs[1]; } elseif (preg_match('/NetCaptors([^s|;]+)/i',$regs)) { $browser = '(Internet Explorer ' .$browser_ver. ') NetCaptor'; $browser_ver = $regs[1]; } elseif (preg_match('/Lynx/([^s]+)/i',$regs)) { $browser = 'Lynx'; $browser_ver = $regs[1]; } if (!empty($browser)) { return addslashes($browser . ' ' . $browser_ver); } else { return 'Unknow browser'; } } (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
