Любой php-код для обнаружения браузера с версией и операционной системой?

Я попытался выполнить поиск в google, но не могу найти полное решение (я только нахожу что-то обнаруживает только тип браузера, такой как firefox, opera).

Я хочу, чтобы php-класс или код проверяли браузер пользователя, включая версию, а также операционную систему.

благодаря

Я использовал techpatterns.com один, и они не всегда обновляют его, и он использует процедурный код, который чувствует себя датированным …

Класс PHP Wolfster BrowserDetection обновлен и использует объектно-ориентированный способ:

Вы используете его так:

$browser = new BrowserDetection(); echo 'You are using ', $browser->getBrowser(), ' version ', $browser->getVersion(); 

Другой пример:

 $browser = new BrowserDetection(); if ($browser->getBrowser() == BrowserDetection::BROWSER_FIREFOX && $browser->compareVersions($browser->getVersion(), '5.0.1') !== 1) { echo 'You have FireFox version 5.0.1 or greater. '; } 

простой способ, например:

 function browser() { $ua = strtolower($_SERVER['HTTP_USER_AGENT']); // you can add different browsers with the same way .. if(preg_match('/(chromium)[ \/]([\w.]+)/', $ua)) $browser = 'chromium'; elseif(preg_match('/(chrome)[ \/]([\w.]+)/', $ua)) $browser = 'chrome'; elseif(preg_match('/(safari)[ \/]([\w.]+)/', $ua)) $browser = 'safari'; elseif(preg_match('/(opera)[ \/]([\w.]+)/', $ua)) $browser = 'opera'; elseif(preg_match('/(msie)[ \/]([\w.]+)/', $ua)) $browser = 'msie'; elseif(preg_match('/(mozilla)[ \/]([\w.]+)/', $ua)) $browser = 'mozilla'; preg_match('/('.$browser.')[ \/]([\w]+)/', $ua, $version); return array($browser,$version[2], 'name'=>$browser,'version'=>$version[2]); } 

его возвращение подобно

 chromium 15 chrome 16 opera 9 

PHP на самом деле имеет собственный метод обнаружения информации обозревателя, называемый get-browser

Непосредственно скопировано из документации PHP:

 <?php echo $_SERVER['HTTP_USER_AGENT'] . "\n\n"; $browser = get_browser(null, true); print_r($browser); ?> 

В приведенном выше примере будет выведено нечто похожее: Mozilla / 5.0 (Windows; U; Windows NT 5.1; en-US; rv: 1.7). Gecko / 20040803 Firefox / 0.9.3

 Array ( [browser_name_regex] => ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*rv:.*) gecko/.* firefox/0\.9.*$ [browser_name_pattern] => Mozilla/5.0 (Windows; ?; Windows NT 5.1; *rv:*) Gecko/* Firefox/0.9* [parent] => Firefox 0.9 [platform] => WinXP [browser] => Firefox [version] => 0.9 [majorver] => 0 [minorver] => 9 [cssversion] => 2 [frames] => 1 [iframes] => 1 [tables] => 1 [cookies] => 1 [backgroundsounds] => [vbscript] => [javascript] => 1 [javaapplets] => 1 [activexcontrols] => [cdf] => [aol] => [beta] => 1 [win16] => [crawler] => [stripper] => [wap] => [netclr] => ) 

get_browser() предоставляет вам версию браузера и операционную систему

 $browser = get_browser(); foreach ($browser as $name => $value) { echo "$name $value\n"; } output: browser_name_pattern:</b> Mozilla/4\.5.* parent: Netscape 4.0 platform: Linux ...