Detectar el navegador con PHP

8 COMENTARIOS  -  11/10/2006 -  Clasificado en: , ,

Si en el anterior post se comentaba la detección del Internet Explorer con Javascript, en este ejemplo vamos a ver la detección de navagadores (incluido el IE7). Haciendo uso del método $_SERVER['HTTP_USER_AGENT'] podemos crear una función que nos indique ante que navegador nos encontramos para así poder actuar de un modo u otro.

<?php
function ObtenerNavegador($user_agent) {
     $navegadores = array(
          'Opera' => 'Opera',
          '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',
          'Internet Explorer 7' => '(MSIE 7\.[0-9]+)',
          'Internet Explorer 6' => '(MSIE 6\.[0-9]+)',
          'Internet Explorer 5' => '(MSIE 5\.[0-9]+)',
          'Internet Explorer 4' => '(MSIE 4\.[0-9]+)',
);
foreach($navegadores as $navegador=>$pattern){
       if (eregi($pattern, $user_agent))
       return $navegador;
    }
return 'Desconocido';
}
?>

La función la llamariamos:

<?php echo ObtenerNavegador($_SERVER['HTTP_USER_AGENT']) ?>
Si te ha gustado, puedes compartir este post en...
Posts Relacionados
Comentarios
Comentario realizado el 28/11/2008
jj creator
hola buena queria saber si con esto podria seleccionar que index abre el exporador al entrar en mi pagina? porfabor si pudes contestarme
Comentario realizado el 28/11/2008
Francisco
Sí. Con la función obtienes el nombre del navegador y utilizando un if puedes mandar al visitante a una página u otra.

Saludos.
Comentario realizado el 05/03/2009
Dr. T
Dos años y pico después.... tu script me ha sido de una utilidad enorme!

Ahora solo me falta que me discrimine también las versiones de cada navegador. Seguiremos investigando!
Comentario realizado el 02/04/2009
Javier
hola, necesito de tu ayuda ya que se como dectar el navegador del visitante como ago para redireccionar al los usuarios a un a otra pagina que si sea apta para su navegador, por lo que vi segun dices que con un if el problema es que estoy un poco verde en esto si me podrias dar un ejemplo gracias.
Comentario realizado el 03/04/2009
Francisco
En esta URL tienes un ejemplo que redirecciona a una página si es IE y a otra al resto:

http://www.spoono.com/php/tutorials/tutorial.php?id=3

Puedes incluir más condiciones por ejemplo con elseif antes del else final. Por ejemplo, si es Opera:

}elseif ($name = strstr ($HTTP_USER_AGENT, "Opera")) {
header ("Location:pagina_opera.php");
}

Saludos.
Comentario realizado el 03/04/2009
Javier
GRACIAS SI FUNCIONO. HASTA LUEGO
Comentario realizado el 28/11/2009
fernando
perfecto funciono en una y el codigo bien corto a comparacion de otros codigos
Comentario realizado el 10/05/2010
draw
Funcionou bem, somente adicionei o "Internet Explorer 8' => '(MSIE 8\.[0-9]+)" para ele identificar o iExplorer8.

Parabens.

Obrigado.
Deja un comentario

¡Gracias por dejar tu opinión! Por favor procura que tu comentarios sean apropiados respecto al tema tratado en la entrada; que no sean spam, u ofensivos, de otro modo, serán eliminados. Todos los comentarios serán moderados antes de su publicación por lo que su aparición en la web puede verse aplazada un cierto tiempo. Si deseas realizar algún comentario, crítica o sugerencia sobre la propia web puedes hacer a través de la siguiente dirección de correo: webintenta@webintenta.com

Facebook Twitter