Detectar tipo de navegador del cliente con php

Detectar el navegador del cliente del lado del servidor es siempre importante, si bien para estadisticas, para escoger la hoja de estilos adecuada, o bien para recomendarle un producto como firefox u opera si usa internet explorer.

Les presento esta función muy simple, sonde se captura la variable de tipo servidor de php-apache  HTTP_USER_AGENT, el cual nos brinda el nombre del tipo de navegador que usamos, y ademas nos dice si no es ninguno de la lista como X11, Mozilla, Netscape, u Internet Explorer, nos dice si es un robot  u programa externo automatizado: Les presento el programa:


<?php

function getBrouserUser(){

if((ereg("Nav", $_SERVER["HTTP_USER_AGENT"])) || (ereg("Gold",
$_SERVER["HTTP_USER_AGENT"])) || (ereg("X11",
$_SERVER["HTTP_USER_AGENT"])) || (ereg("Mozilla",
$_SERVER["HTTP_USER_AGENT"])) || (ereg("Netscape",
$_SERVER["HTTP_USER_AGENT"])) AND (!ereg("MSIE",
$_SERVER["HTTP_USER_AGENT"]) AND (!ereg("Konqueror",
$_SERVER["HTTP_USER_AGENT"])))) $browser = "Netscape";

elseif(ereg("MSIE", $_SERVER["HTTP_USER_AGENT"])) $browser = "MSIE";

elseif(ereg("Lynx", $_SERVER["HTTP_USER_AGENT"])) $browser = "Lynx";

elseif(ereg("Opera", $_SERVER["HTTP_USER_AGENT"])) $browser = "Opera";

elseif(ereg("Netscape", $_SERVER["HTTP_USER_AGENT"])) $browser = "Netscape";

elseif(ereg("Konqueror", $_SERVER["HTTP_USER_AGENT"])) $browser = "Konqueror";

elseif((eregi("bot", $_SERVER["HTTP_USER_AGENT"])) ||
(ereg("Google", $_SERVER["HTTP_USER_AGENT"])) || (ereg("Slurp",
$_SERVER["HTTP_USER_AGENT"])) || (ereg("Scooter",
$_SERVER["HTTP_USER_AGENT"])) || (eregi("Spider",
$_SERVER["HTTP_USER_AGENT"])) || (eregi("Infoseek",
$_SERVER["HTTP_USER_AGENT"]))) $browser = "Bot";

else $browser = "Other";
return $browser;
}

Y lo invocamos de la siguiente forma:


<?php
echo 'Su navegador es de tipo:  '.getBrouserUser();

?>

Por favor escriba sus comentarios, a fin de saber como les fué.

This entry was posted on Tuesday, March 4th, 2008 at 10:58 pm and is filed under Desarrollo Web, PHP. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

Leave a Reply