Cualquier código php para detectar el navegador con la versión y el sistema operativo?

Intenté buscar en Google pero no puedo encontrar una solución completa (solo encuentro que algo detecta solo el tipo de navegador, como Firefox, Opera).

Quiero una clase php o código para verificar el navegador del usuario, incluida la versión y también el sistema operativo.

Gracias

Solutions Collecting From Web of "Cualquier código php para detectar el navegador con la versión y el sistema operativo?"

Utilicé el techpatterns.com y no siempre lo actualizan y usa código de procedimiento que se siente fechado …

La clase PHP de Wolfcast BrowserDetection se actualiza y usa una forma orientada a objetos para hacerlo:

Lo usas de esta manera:

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

Otro ejemplo:

 $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. '; } 

una manera simple, por ejemplo:

 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]); } 

su retorno como

 chromium 15 chrome 16 opera 9 

PHP en realidad tiene un método nativo para detectar información del navegador, llamado get-browser

Copiado directamente de la documentación de PHP:

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

El ejemplo anterior dará como resultado algo similar a: 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() te da la versión del navegador y el sistema operativo

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