background image

php 获取浏览器名称版本实例程序

获取浏览器版本在

php 中直接使用 HTTP_USER_AGENT 就可以了,但是要具体判断

是那个浏览器,什么版本我们需要一个个去判断了,

1

代码如下
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', $agent, $regs)) {
  $browser = 'FireFox';
  $browser_ver = $regs[1];
 } elseif (preg_match('/Maxthon/i', $agent, $regs)) {
  $browser = '(Internet Explorer ' .$browser_ver. ') Maxthon';
  $browser_ver = '';
 } elseif (preg_match('/Opera[s|/]([^s]+)/i', $agent, $regs)) {
  $browser = 'Opera';
  $browser_ver = $regs[1];
 } elseif (preg_match('/OmniWeb/(v*)([^s|;]+)/i', $agent, $regs)) {
  $browser = 'OmniWeb';
  $browser_ver = $regs[2];
 } elseif (preg_match('/Netscape([d]*)/([^s]+)/i', $agent, $regs)) {
  $browser = 'Netscape';
  $browser_ver = $regs[2];
 } elseif (preg_match('/safari/([^s]+)/i', $agent, $regs)) {
  $browser = 'Safari';
  $browser_ver = $regs[1];
 } elseif (preg_match('/NetCaptors([^s|;]+)/i', $agent, $regs)) {
  $browser = '(Internet Explorer ' .$browser_ver. ') NetCaptor';
  $browser_ver = $regs[1];
 } elseif (preg_match('/Lynx/([^s]+)/i', $agent, $regs)) {
  $browser = 'Lynx';
  $browser_ver = $regs[1];
 }

 if (!empty($browser)) {

    return addslashes($browser . ' ' . $browser_ver);
 } else {
  return 'Unknow browser';