Para obtener el navegador empleado en una visita, en primer lugar, debemos obtener el USER_AGENT. El USER_AGENT nos dará toda la información necesaria sobre el navegador y sistema operativo de la visita.
En el artículo Obtener sistema operativo del visitante con PHP explico cómo obtener el sistema operativo. Para recoger el USER_AGENT de la visita lo haremos:
$user_agent = $_SERVER['HTTP_USER_AGENT'];
Una vez obtenido el USER_AGENT únicamente tenemos que pasar este valor a nuestra función getBrowser():
function getBrowser($user_agent) {
$navegadores = array(
'Opera' => 'Opera',
'Chrome' => 'Chrome',
'Safari' => 'Safari',
'Mozilla Firefox'=> '(Firebird)|(Firefox)',
'Galeon' => 'Galeon',
'Mozilla'=>'Gecko',
'MyIE'=>'MyIE',
'Lynx' => 'Lynx',
'Netscape' => '(Mozilla/4\.75)|(Netscape6)|(Mozilla/4\.08)|(Mozilla/4\.5)|(Mozilla/4\.6)|(Mozilla/4\.79)',
'Konqueror'=>'Konqueror',
'IExplorer 10' => '(MSIE 10\.[0-9]+)',
'IExplorer 9' => '(MSIE 9\.[0-9]+)',
'IExplorer 8' => '(MSIE 8\.[0-9]+)',
'IExplorer 7' => '(MSIE 7\.[0-9]+)',
'IExplorer 6' => '(MSIE 6\.[0-9]+)',
'IExplorer 5' => '(MSIE 5\.[0-9]+)',
'IExplorer 4' => '(MSIE 4\.[0-9]+)',
);
foreach($navegadores as $navegador=>$pattern){
if (eregi($pattern, $user_agent))
return $navegador;
}
return 'Otros';
}
$navegadores = array(
'Opera' => 'Opera',
'Chrome' => 'Chrome',
'Safari' => 'Safari',
'Mozilla Firefox'=> '(Firebird)|(Firefox)',
'Galeon' => 'Galeon',
'Mozilla'=>'Gecko',
'MyIE'=>'MyIE',
'Lynx' => 'Lynx',
'Netscape' => '(Mozilla/4\.75)|(Netscape6)|(Mozilla/4\.08)|(Mozilla/4\.5)|(Mozilla/4\.6)|(Mozilla/4\.79)',
'Konqueror'=>'Konqueror',
'IExplorer 10' => '(MSIE 10\.[0-9]+)',
'IExplorer 9' => '(MSIE 9\.[0-9]+)',
'IExplorer 8' => '(MSIE 8\.[0-9]+)',
'IExplorer 7' => '(MSIE 7\.[0-9]+)',
'IExplorer 6' => '(MSIE 6\.[0-9]+)',
'IExplorer 5' => '(MSIE 5\.[0-9]+)',
'IExplorer 4' => '(MSIE 4\.[0-9]+)',
);
foreach($navegadores as $navegador=>$pattern){
if (eregi($pattern, $user_agent))
return $navegador;
}
return 'Otros';
}
La función nos devolverá una cadena de texto con el nombre del navegador. En caso de que no lo reconozca devolverá “Otros”.
A medida que van surgiendo nuevos navegadores o nuevas versiones de los navegadores, podemos ir ampliando la función getBrowser() para así reconocerlos y que la función no nos devuelva el valor “Otros”.
No hay comentarios :
Publicar un comentario