php检测useragent版本示例

  

复制代码 代码如下:

  <?php

  define('IE', 1);

  define('FIREFOX', 2);

  define('CHROME', 3);

  define('OPERA', 4);

  class UserAgentDetect

  {

  static $version = array();

  static $userAgent = '';

  static function getUserAgent()

  {

  $header = getallheaders();

  self :: $userAgent = $header['User-Agent'];

  }

  function findUserAgentByKey($ua, $key)

  {

  $len = strlen($key);

  $start = strpos($ua, $key);

  $pos = strpos($ua, ' ', $start + $len + 1);

  return substr($ua, $start + $len, $pos - $len - $start);

  }

  static function detectUserAgent()

  {

  self :: getUserAgent();

  if (strpos(self :: $userAgent, 'MSIE') != null)

  {

  self :: $version[] = IE;

  self :: $version[] =self:: findUserAgentByKey(self :: $userAgent, 'MSIE');

  }

  else if (strpos(self :: $userAgent, 'Gecko/') != null)

  {

  self :: $version[] = FIREFOX;

  self :: $version[] =self::  findUserAgentByKey(self :: $userAgent, 'Firefox/');

  }

  else if (strpos(self :: $userAgent, 'AppleWebKit/') != null)

  {

  self :: $version[] = CHROME;

  self :: $version[] = self:: findUserAgentByKey(self :: $userAgent, 'Chrome/');

  }

  else if (strpos(self :: $userAgent, 'Presto/') != null)

  {

  self :: $version[] = OPERA;

  self :: $version[] = self:: findUserAgentByKey(self :: $userAgent, 'Opera/');

  }

  else

  {

  }

  return self :: $version;

  }

  function matchUserAgent($ua, $key)

  {

  preg_match("/$key.([^\s]*?)\s/", $ua, $out);

  return $out[1];

  }

  }

  $ua=UserAgentDetect::detectUserAgent();

  print_r($ua);