网管程序员论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2974|回复: 0

php获取客户端操作系统和浏览器及其版本信息

[复制链接]
发表于 2014-8-18 16:21:53 | 显示全部楼层 |阅读模式
各大经典浏览器HTTP_USER_AGENT详细 IE
  而IE各个版本典型的userAgent如下:
  Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)
  Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2)
  Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
  Mozilla/4.0 (compatible; MSIE 5.0; Windows NT)
  其中,版本号是MSIE之后的数字。


Firefox
  Firefox几个版本的userAgent大致如下:
  Mozilla/5.0 (Windows; U; Windows NT 5.2) Gecko/2008070208 Firefox/3.0.1
  Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070309 Firefox/2.0.0.3
  Mozilla/5.0 (Windows; U; Windows NT 5.1) Gecko/20070803 Firefox/1.5.0.12  其中,版本号是Firefox之后的数字。


Opera
  Opera典型的userAgent如下:
  Opera/9.27 (Windows NT 5.2; U; zh-cn)
  Opera/8.0 (Macintosh; PPC Mac OS X; U; en)
  Mozilla/5.0 (Macintosh; PPC Mac OS X; U; en) Opera 8.0  
  其中,版本号是靠近Opera的数字。


Safari
  Safari典型的userAgent如下:
  Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Version/3.1 Safari/525.13
  Mozilla/5.0 (iPhone; U; CPU like Mac OS X) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/4A93 Safari/419.3
  其版本号是Version之后的数字。


Chrome
  目前,Chrome的userAgent是:
Mozilla/5.0 (Windows; U; Windows NT 5.2) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13  
  其中,版本号在Chrome之后的数字。


Navigator
目前,Navigator的userAgent是:
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080219 Firefox/2.0.0.12 Navigator/9.0.0.6
其中,版本号在Navigator之后的数字。





获得浏览器名称和版本
function getbrowser() {  
    global $_SERVER;  
    $agent  = $_SERVER['HTTP_USER_AGENT'];  
    $browser  = '';  
    $browser_ver  = '';  
  
    if (preg_match('/OmniWeb\/(v*)([^\s|;]+)/i', $agent, $regs)) {  
      $browser  = 'OmniWeb';  
      $browser_ver   = $regs[2];  
    }  
  

    if (preg_match('/Netscape([\d]*)\/([^\s]+)/i', $agent, $regs)) {  
      $browser  = 'Netscape';  
      $browser_ver   = $regs[2];  
    }  
  
    if (preg_match('/safari\/([^\s]+)/i', $agent, $regs)) {  
      $browser  = 'Safari';  
      $browser_ver   = $regs[1];  
    }  
  
    if (preg_match('/MSIE\s([^\s|;]+)/i', $agent, $regs)) {  
      $browser  = 'Internet Explorer';  
      $browser_ver   = $regs[1];  
    }  
  
    if (preg_match('/Opera[\s|\/]([^\s]+)/i', $agent, $regs)) {  
      $browser  = 'Opera';  
      $browser_ver   = $regs[1];  
    }  
  
    if (preg_match('/NetCaptor\s([^\s|;]+)/i', $agent, $regs)) {  
      $browser  = '(Internet Explorer ' .$browser_ver. ') NetCaptor';  
      $browser_ver   = $regs[1];  
    }  
  
    if (preg_match('/Maxthon/i', $agent, $regs)) {  
      $browser  = '(Internet Explorer ' .$browser_ver. ') Maxthon';  
      $browser_ver   = '';  
    }
if (preg_match('/360SE/i', $agent, $regs)) {  
      $browser       = '(Internet Explorer ' .$browser_ver. ') 360SE';  
      $browser_ver   = '';  
    }
if (preg_match('/SE 2.x/i', $agent, $regs)) {  
      $browser       = '(Internet Explorer ' .$browser_ver. ') 搜狗';  
      $browser_ver   = '';  
    }  
  
    if (preg_match('/FireFox\/([^\s]+)/i', $agent, $regs)) {  
      $browser  = 'FireFox';  
      $browser_ver   = $regs[1];  
    }  
  
    if (preg_match('/Lynx\/([^\s]+)/i', $agent, $regs)) {  
      $browser  = 'Lynx';  
      $browser_ver   = $regs[1];  
    }  
  
    if ($browser != '') {  
       return $browser.' '.$browser_ver;  
    }  
    else {  
      return 'Unknow browser';  
    }  
}




获得客户端的操作系统
function getplat() {  
    $agent = $_SERVER['HTTP_USER_AGENT'];  
    $os = false;  
  
    if (eregi('win', $agent) && strpos($agent, '95')) {  
      $os = 'Windows 95';  
    }  
    else if (eregi('win 9x', $agent) && strpos($agent, '4.90')) {  
      $os = 'Windows ME';  
    }  
    else if (eregi('win', $agent) && ereg('98', $agent)) {  
      $os = 'Windows 98';  
    }  
    else if (eregi('win', $agent) && eregi('nt 5.1', $agent)) {  
      $os = 'Windows XP';  
    }  
    else if (eregi('win', $agent) && eregi('nt 5', $agent)) {  
      $os = 'Windows 2000';  
    }  
    else if (eregi('win', $agent) && eregi('nt', $agent)) {  
      $os = 'Windows NT';  
    }  
    else if (eregi('win', $agent) && ereg('32', $agent)) {  
      $os = 'Windows 32';  
    }  
    else if (eregi('linux', $agent)) {  
      $os = 'Linux';  
    }  
    else if (eregi('unix', $agent)) {  
      $os = 'Unix';  
    }  
    else if (eregi('sun', $agent) && eregi('os', $agent)) {  
      $os = 'SunOS';  
    }  
    else if (eregi('ibm', $agent) && eregi('os', $agent)) {  
      $os = 'IBM OS/2';  
    }  
    else if (eregi('Mac', $agent) && eregi('PC', $agent)) {  
      $os = 'Macintosh';  
    }  
    else if (eregi('PowerPC', $agent)) {  
      $os = 'PowerPC';  
    }  
    else if (eregi('AIX', $agent)) {  
      $os = 'AIX';  
    }  
    else if (eregi('HPUX', $agent)) {  
      $os = 'HPUX';  
    }  
    else if (eregi('NetBSD', $agent)) {  
      $os = 'NetBSD';  
    }  
    else if (eregi('BSD', $agent)) {  
      $os = 'BSD';  
    }  
    else if (ereg('OSF1', $agent)) {  
      $os = 'OSF1';  
    }  
    else if (ereg('IRIX', $agent)) {  
      $os = 'IRIX';  
    }  
    else if (eregi('FreeBSD', $agent)) {  
      $os = 'FreeBSD';  
    }  
    else if (eregi('teleport', $agent)) {  
      $os = 'teleport';  
    }  
    else if (eregi('flashget', $agent)) {  
      $os = 'flashget';  
    }  
    else if (eregi('webzip', $agent)) {  
      $os = 'webzip';  
    }  
    else if (eregi('offline', $agent)) {  
      $os = 'offline';  
    }  
    else{  
      $os = 'Unknown';  
    }  
    return $os;  
}  

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|小黑屋|手机版|Archiver|最新更新|网管程序员社区 鄂ICP备11008024号-3

GMT+8, 2019-11-22 18:26 , Processed in 0.093600 second(s), 26 queries .

Powered by 网管论坛

© 2001-2018 www.027safe.com Inc.

快速回复 返回顶部 返回列表