Detectar el navegador con PHP

Comentarios 6 COMENTARIOS
Tags 11/10/2006 -  Tags , ,

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']) ?>

También te puede interesar:

Comentarios
1 jj creator
http://www.webtalia.es

hola buena queria saber si con esto podria seleccionar que index abre el exporador al entrar en mi pagina? porfabor si pudes contestarme
2 Francisco
http://www.webintenta.com

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.
3 Dr. T
http://espaipixel.bloc.cat

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!
4 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.
5 Francisco
http://www.webintenta.com

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.
6 Javier

GRACIAS SI FUNCIONO. HASTA LUEGO
7 fernando
http://www.cuscoperuvian.com

perfecto funciono en una y el codigo bien corto a comparacion de otros codigos
Haz 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