程序员人生 网站导航

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

栏目:php教程时间:2014-06-08 13:35:49

获取浏览器版本在php中直接使用HTTP_USER_AGENT就可以了,但是要具体判断是那个浏览器,什么版本我们需要一个个去判断了,实例代码如下:

  1. function get_user_browser() { 
  2.  if (emptyempty($_SERVER['HTTP_USER_AGENT'])) { 
  3.   return ''
  4.  } 
  5.  $agent = $_SERVER['HTTP_USER_AGENT']; 
  6.  $browser = ''
  7.  $browser_ver = ''
  8.  if (preg_match('/MSIEs([^s|;]+)/i'$agent$regs)) { 
  9.   $browser = 'Internet Explorer'
  10.   $browser_ver = $regs[1]; 
  11.  } elseif (preg_match('/FireFox/([^s]+)/i'$agent$regs)) { 
  12.   $browser = 'FireFox'
  13.   $browser_ver = $regs[1]; 
  14.  } elseif (preg_match('/Maxthon/i'$agent$regs)) { 
  15.   $browser = '(Internet Explorer ' .$browser_ver') Maxthon'
  16.   $browser_ver = ''
  17.  } elseif (preg_match('/Opera[s|/]([^s]+)/i'$agent$regs)) { 
  18.   $browser = 'Opera'
  19.   $browser_ver = $regs[1]; 
  20.  } elseif (preg_match('/OmniWeb/(v*)([^s|;]+)/i'$agent$regs)) { 
  21.   $browser = 'OmniWeb'
  22.   $browser_ver = $regs[2]; 
  23.  } elseif (preg_match('/Netscape([d]*)/([^s]+)/i'$agent$regs)) { 
  24.   $browser = 'Netscape'
  25.   $browser_ver = $regs[2]; 
  26.  } elseif (preg_match('/safari/([^s]+)/i'$agent$regs)) { 
  27.   $browser = 'Safari'
  28.   $browser_ver = $regs[1]; 
  29.  } elseif (preg_match('/NetCaptors([^s|;]+)/i'$agent$regs)) { 
  30.   $browser = '(Internet Explorer ' .$browser_ver') NetCaptor'
  31.   $browser_ver = $regs[1]; 
  32.  } elseif (preg_match('/Lynx/([^s]+)/i'$agent$regs)) { 
  33.   $browser = 'Lynx'
  34.   $browser_ver = $regs[1]; 
  35.  } 
  36.  if (!emptyempty($browser)) { 
  37.     return addslashes($browser . ' ' . $browser_ver); 
  38.  } else { 
  39.   return 'Unknow browser'
  40.  } 

实例二代码如下:

  1. function get_user_browser() 
  2.     if (emptyempty($_SERVER['HTTP_USER_AGENT'])) 
  3.     {    //当浏览器没有发送访问者的信息的时候 
  4.         return ''
  5.     } 
  6.     $agent       = $_SERVER['HTTP_USER_AGENT'];     
  7.     $browser     = ''
  8.     $browser_ver = ''
  9.     if (preg_match('/MSIEs([^s|;]+)/i'$agent$regs)) 
  10.     { 
  11.         $browser     = 'Internet Explorer';    //当匹配到了MSIE 的时候,取得数字的那一部分房在数组$regs里 
  12.         $browser_ver = $regs[1]; 
  13.     } 
  14.     elseif (preg_match('/FireFox/([^s]+)/i'$agent$regs)) 
  15.     {                             
  16.         $browser     = 'FireFox';                //当匹配到了firefox/的时候,取得后面紧跟的数字部分 
  17.         $browser_ver = $regs[1]; 
  18.     } 
  19.     elseif (preg_match('/Maxthon/i'$agent$regs)) 
  20.     { 
  21.         $browser     = '(Internet Explorer ' .$browser_ver') Maxthon'
  22.         $browser_ver = ''
  23.     } 
  24.     elseif (preg_match('/Opera[s|/]([^s]+)/i'$agent$regs)) 
  25.     { 
  26.         $browser     = 'Opera'
  27.         $browser_ver = $regs[1]; 
  28.     } 
  29.     elseif (preg_match('/OmniWeb/(v*)([^s|;]+)/i'$agent$regs)) 
  30.     { 
  31.         $browser     = 'OmniWeb'
  32.         $browser_ver = $regs[2]; 
  33.     } 
  34.     elseif (preg_match('/Netscape([d]*)/([^s]+)/i'$agent$regs)) 
  35.     { 
  36.         $browser     = 'Netscape'
  37.         $browser_ver = $regs[2]; 
  38.     } 
  39.     elseif (preg_match('/safari/([^s]+)/i'$agent$regs)) 
  40.     { 
  41.         $browser     = 'Safari'
  42.         $browser_ver = $regs[1]; 
  43.     } 
  44.     elseif (preg_match('/NetCaptors([^s|;]+)/i'$agent$regs)) 
  45.     { 
  46.         $browser     = '(Internet Explorer ' .$browser_ver') NetCaptor'
  47.         $browser_ver = $regs[1]; 
  48.     } 
  49.     elseif (preg_match('/Lynx/([^s]+)/i'$agent$regs)) 
  50.     { 
  51.         $browser     = 'Lynx'
  52.         $browser_ver = $regs[1]; 
  53.     } 
  54.     if (!emptyempty($browser)) 
  55.     { 
  56.        return addslashes($browser . ' ' . $browser_ver);//转义引号 
  57.     } 
  58.     else 
  59.     { 
  60.         return 'Unknow browser'
  61.     } 

判断是否为蜘蛛:

  1. function is_spider($record = true)    //判断是否为蜘蛛 
  2.     static $spider = NULL; 
  3.     if ($spider !== NULL) 
  4.     { 
  5.         return $spider;        // 
  6.     } 
  7.     if (emptyempty($_SERVER['HTTP_USER_AGENT'])) 
  8.     { 
  9.         $spider = ''
  10.         return ''
  11.     } 
  12.     $searchengine_bot = array
  13.         'googlebot'
  14.         'mediapartners-google'
  15.         'baiduspider+'
  16.         'msnbot'
  17.         'yodaobot'
  18.         'yahoo! slurp;'
  19.         'yahoo! slurp china;'
  20.         'iaskspider'
  21.         'sogou web spider'
  22.         'sogou push spider' 
  23.     ); 
  24.     $searchengine_name = array
  25.         'GOOGLE'
  26.         'GOOGLE ADSENSE'
  27.         'BAIDU'
  28.         'MSN'
  29.         'YODAO'
  30.         'YAHOO'
  31.         'Yahoo China'
  32.         'IASK'
  33.         'SOGOU'
  34.         'SOGOU' 
  35.     ); 
  36.     $spider = strtolower($_SERVER['HTTP_USER_AGENT']);    //将用户浏览器信息转成小写 
  37.     foreach ($searchengine_bot AS $key => $value
  38.     { 
  39.         if (strpos($spider$value) !== false)                    //绝对不等于,避免字符串出现为止为0的这种情况 
  40.         { 
  41.             $spider = $searchengine_name[$key];            //返回对应的seo/seo.html" target="_blank">搜索引擎名 
  42.             return $spider
  43.         } 
  44.     } 
  45.     $spider = ''
  46.     return ''
  47. }
------分隔线----------------------------
------分隔线----------------------------

最新技术推荐