necesito hacer una detección del navegador que está usando el visitante de mi web. Por lo que he leido la función get_browser() me podía ser de ayuda pero al ejecutarla el script me da un error
Código:
que parece ser debido a que no está configurado correctamente la opción de configuración browscap en php.ini. Para intentar resolver el problema me he creado este script:Warning: get_browser(): browscap ini directive not set. in E:\web\checkBrowser.php on line 4
Código:
que parece funcionar bien ... pero sólo lo parece. Os pongo unos ejemplos y lo veréis claro.<? echo checkBrowser(); function checkBrowser(){ $agent = strtolower($_SERVER["HTTP_USER_AGENT"]); echo " $agent - "; $Arr_brow = array("amaya", "firefox", "maxtor", "mozilla", "msie", "opera"); $found = false; while(list($c, $v) = each($Arr_brow)){ if(strstr($agent, $v) and !$found){ $found = true; return $v; } } } ?>
Si uso Firefoz como navegador obtengo:
$agent -> mozilla/5.0 (windows; u; windows nt 5.0; es-es; rv:1.8.0.3) gecko/20060426 firefox/1.5.0.3
resultado de la detección -> firefox (correcto)
Si uso Opera:
$agent -> opera/9.00 (windows nt 5.0; u; en)
resultado de la detección -> opera (correcto)
Si uso Internet Explorer:
$agent -> mozilla/4.0 (compatible; msie 6.0; windows nt 5.0; .net clr 1.1.4322)
resultado de la detección -> mozilla (incorrecto)
¿Cómo podría hacerlo bien? Muchas gracias por la ayuda
![sonriente](http://static.forosdelweb.com/fdwtheme/images/smilies/smile.png)
P.D. las pruebas las estoy haciendo en una máquina con Windows y luego lo publicaré en una con Linux (esto no importa, ¿verdad?) Así todo, ¿cómo podríamos hacer la detección sin get_browser()?