Foros del Web » Programando para Internet » PHP »

deteccion del navegador

Estas en el tema de deteccion del navegador en el foro de PHP en Foros del Web. Necesito realizar ciertas cosas en función del navegador del cliente, pero desde php .... sabeís si hay alguna función que me pueda ayudar? Muchas gracias ...
  #1 (permalink)  
Antiguo 26/07/2004, 13:33
Avatar de JUANCHE  
Fecha de Ingreso: marzo-2003
Ubicación: Sevilla
Mensajes: 25
Antigüedad: 14 años, 9 meses
Puntos: 0
deteccion del navegador

Necesito realizar ciertas cosas en función del navegador del cliente, pero desde php .... sabeís si hay alguna función que me pueda ayudar?
Muchas gracias de antemano.
__________________
------------------------------------------------------------

PREÑADO DE IDEAS BUSCANDO COMO PARIRLAS
  #2 (permalink)  
Antiguo 26/07/2004, 15:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Puedes usar:

$_SERVER['HTTP_USER_AGENT']

ó

get_browser()

Un saludo,
  #3 (permalink)  
Antiguo 26/07/2004, 18:51
Avatar de JUANCHE  
Fecha de Ingreso: marzo-2003
Ubicación: Sevilla
Mensajes: 25
Antigüedad: 14 años, 9 meses
Puntos: 0
muchas gracias cluster....siempre ahí ;)
__________________
------------------------------------------------------------

PREÑADO DE IDEAS BUSCANDO COMO PARIRLAS
  #4 (permalink)  
Antiguo 24/05/2005, 15:42
Avatar de chalchis  
Fecha de Ingreso: julio-2003
Mensajes: 1.773
Antigüedad: 14 años, 4 meses
Puntos: 21
snifer

<?php
$HUA=$_SERVER['HTTP_USER_AGENT'];
$HUA=strtolower($HUA);
//*********** Determinamos el navegador ********
//Declaramos las variables navegador, version, sistema
$navegador="Desconocido";
$version="Desconocido";
$sistema="Desconocido";

//Proceso de búsqueda:
//1. navegador
// a. Versión
//2. sistema Operativo
//(Búsquedas no sensibles a mayusculas)

//DETECCIÓN DE navegador
//~~~~~~~~~~~~~~~~~~~~~~

//Detección de Opera
//Exemplo: Opera/6.05 (Windows XP; U) [es-ES]
if (stristr($HUA,"opera"))
{
$navegador="Opera";
$K=strpos($HUA, "opera");
$version=substr($HUA,$K+6,5);
}
elseif (stristr($HUA,"aweb"))
{
$navegador="AWeb";
$sistema="Amiga OS";
}
elseif (stristr($HUA, "msie"))
{
$navegador="Internet Explorer";
$K=strpos($HUA, "msie");
$temp=substr($HUA,$K);
$P=strpos($temp, chr(59));
$version=substr($temp,5,$P-5);
if (stristr($HUA,"aol"))
{
$K=strpos($HUA, "aol");
$temp=substr($HUA,$K);
$P=strpos($temp, chr(59));
$navegador.=" (AOL ".substr($temp,4,$P-4).")";
}
elseif (stristr($HUA,"msn"))
{
$K=strpos($HUA, "msn");
$temp=substr($HUA,$K);
$P=strpos($temp, chr(59));
$navegador.=" (MSN ".substr($temp,4,$P-4).")";
}
}
elseif (stristr($HUA,"mozilla") && ! (stristr($HUA,"opera") || stristr($HUA,"msie")))
{
$navegador="Mozilla";
if (stristr($HUA,"rv:"))
{
$K=strpos($HUA, "rv:");
$P=strrpos($HUA, chr(41))-$K;
$version=substr($HUA,$K+3,$P-3);
}
elseif (stristr($HUA,"mozilla/5.0"))
{
$version="5.0";
}
else
{
$navegador="Netscape Navigator";
$K=strpos($HUA,"/");
$P=strpos($HUA," ");
$version=substr($HUA,$K+1, $P-7);
if (stristr($HUA,"c-cck-mcd"))
{
$version=str_replace("c-cck-mcd","",$version);
}
if (stristr($HUA,"sc-sgi"))
{
$version=str_replace("sc-sgi","",$version);
}
if(stristr($HUA,"gold"))
{
$version=str_replace("gold"," Gold",$version);
$version=str_replace("Gold"," Gold",$version);
}
}
if (stristr($HUA,"phoenix"))
{
$navegador="Phoenix";
$K=strrpos($HUA,"phoenix");
$version=substr($HUA,$K+8);
//Cambia o '/' por un espacio
$version=str_replace("/"," ",$version);
}
elseif (stristr($HUA,"netscape"))
{
$navegador="Netscape";
$K=strrpos($HUA,"netscape");
$version=substr($HUA,$K+9);
$version=str_replace("/"," ",$version);
}
elseif (stristr($HUA,"firebird"))
{
$navegador="Firebird";
$K=strrpos($HUA,"firebird");
$version=substr($HUA,$K+9);
$version=str_replace("/"," ",$version);
}
elseif (stristr($HUA,"Chimera"))
{
$navegador="Chimera";
$K=strrpos($HUA,"chimera");
$version=substr($HUA,$K+7);
$version=str_replace("/"," ",$version);
$sistema="Mac OS X";
}
elseif (stristr($HUA,"Camino"))
{
$navegador="Camino";
$K=strrpos($HUA,"camino");
$version=substr($HUA,$K+6);
$version=str_replace("/"," ",$version);
$version=str_replace("+","",$version);
$sistema="Mac OS X";
}
elseif (stristr($HUA,"safari"))
{
$navegador="Safari";
$K=strrpos($HUA,"safari");
$version="1.0 Build ".substr($HUA,$K+7);
}
elseif (stristr($HUA,"konqueror"))
{
$navegador="Konqueror";
$K=strpos($HUA, "konqueror");
$temp=substr($HUA,$K);
$P=strpos($temp, chr(59));
$version=substr($temp,10,$P-10);
}
elseif (stristr($HUA,"galeon"))
{
$navegador="Galeon";
$K=strpos($HUA, "galeon");
$temp=substr($HUA,$K);
$P=strpos($temp, chr(32));
$version=substr($temp,7,$P-7);
}
elseif (stristr($HUA,"MultiZilla"))
{
$navegador="MultiZilla";
$K=strpos($HUA,"multizilla");
$temp=substr($HUA,$K);
$K=strpos($temp,"v");
$temp=substr($temp,$K+1);
$P=strpos($temp," ");
$version=substr($temp,0,$P);
}
elseif (stristr($HUA,"netpositive") || stristr($HUA,"zonesurf"))
{
$navegador="NetPositive";
$K=strpos($HUA, "netpositive");
$temp=substr($HUA,$K);
$P=strrpos($temp, chr(41));
$version=substr($temp,12,$P-12);
$sistema="BeOS";
}
elseif (stristr($HUA,"qnx voyager"))
{
$navegador="Voyager";
$K=strpos($HUA, "qnx voyager");
$temp=substr($HUA,$K);
$P=strpos($temp, chr(59));
$version=substr($temp,12,$P-12);
}
}
elseif (stristr($HUA,"lynx") || stristr($HUA,"links"))
{
$navegador="Lynx";
if (stristr($HUA,"lynx"))
{
$P=strpos($HUA," ");
$version=substr($HUA,5, $P-5);
}
elseif (stristr($HUA,"0."))
{
$P=strpos($HUA,chr(59));
$version=substr($HUA,7, $P-7);
}
}
elseif (stristr($HUA,"arachne"))
{
$navegador="Arachne";
}
elseif (stristr($HUA,"googlebot"))
{
$navegador="Googlebot";
}
elseif(stristr($HUA,"infomine"))
{
$navegador="Infomine";
}
elseif(stristr($HUA,"ia_archiver"))
{
$navegador="Archive.org Spider";
}
elseif(stristr($HUA,"msnbot"))
{
$navegador="MSN Bot";
}
elseif(stristr($HUA,"validator") && stristr($HUA,"w3c"))
{
$navegador="W3C Validator";
}
if (stristr($HUA,"dos"))
{
$sistema="MS-DOS";
}
if (stristr($HUA,"amiga"))
{
$sistema="Amiga OS";
}
//Detección de Windows
if (stristr($HUA,"windows 3.1") || (stristr($HUA,"win16")) || (stristr($HUA,"win95") && stristr($HUA,"16bit")))
{
$sistema="Windows 3.1/3.11";
}
elseif (stristr($HUA,"nt 3.51") || (stristr($HUA,"nt3.51")))
{
$sistema="Windows nt 3.51";
}
elseif (stristr($HUA,"windows 95") || (stristr($HUA,"win95")))
{
$sistema="Windows 95";
}
elseif (stristr($HUA,"windows me") || (stristr($HUA,"win") && stristr($HUA,"4.90")))
{
$sistema="Windows Millenium Edition";
}
elseif (stristr($HUA,"windows 98") || (stristr($HUA,"win98")) || (stristr($HUA,"win") && stristr($HUA,"3.95")))
{
$sistema="Windows 98";
}
elseif (stristr($HUA,"nt 5.0") || stristr($HUA,"windows 2000"))
{
$sistema="Windows 2000";
}
elseif (stristr($HUA,"nt 5.1") || stristr($HUA,"windows xp"))
{
$sistema="Windows XP";
}
elseif (stristr($HUA,"nt 5.2"))
{
$sistema="Windows Server 2003";
}
elseif (stristr($HUA,"windows CE"))
{
$sistema="Windows Pocket PC";
}
elseif (stristr($HUA,"nt 4") || stristr($HUA,"nt4") || stristr($HUA,"winnt") || stristr($HUA,"windows nt"))
{
$sistema="Windows NT 4.0";
}
elseif (stristr($HUA,"windows"))
{
$sistema="Windows";
}
//Detección de Mac OS
if (stristr($HUA,"mac os x"))
{
$sistema="Mac OS X";
}
elseif (stristr($HUA,"68k"))
{
$sistema="Mac 68K";
}
elseif (stristr($HUA,"mac_powerpc") || stristr($HUA,"ppc") || stristr($HUA,"macintosh"))
{
$sistema="Mac OS 8/9";
}
//Detección de sistemas baseados en Unix (Linux, Solaris, HP-UX, BeOS, QNX...)
if (stristr($HUA,"linux"))
{
$sistema="Linux";
}
elseif (stristr($HUA,"freebsd"))
{
$sistema="FreeBSD";
}
elseif (stristr($HUA,"openbsd"))
{
$sistema="OpenBSD";
}
elseif (stristr($HUA,"netbsd"))
{
$sistema="NetBSD";
}
elseif (stristr($HUA,"beos"))
{
$sistema="BeOS";
}
elseif (stristr($HUA,"sunos") || stristr($HUA,"solaris"))
{
$sistema="Sun Solaris";
$K=strpos($HUA, "sunos");
$temp=substr($HUA,$K+6);
$P=strpos($temp, chr(32));
$temp=substr($temp,0,$P);
if ($temp=="sun4u;" || $temp=="sun4m;")
{
$temp="";
}
$sistema.=" ".$temp;
}
elseif (stristr($HUA,"qnx") || stristr($HUA,"photon"))
{
$sistema="QNX";
}
elseif (stristr($HUA,"hp-ux"))
{
$sistema="HP-UX";
}
elseif (stristr($HUA,"irix"))
{
$sistema="SGI IRIX";
}
elseif (stristr($HUA,"aix") || stristr($HUA,"ibm"))
{
$sistema="IBM AIX";
}
elseif (stristr($HUA,"os/2") && stristr($HUA,"warp"))
{
$sistema="OS/2 Warp";
}
elseif (stristr($HUA,"os/2"))
{
$sistema="OS/2";
}
elseif (stristr($HUA,"HURD") || (stristr($HUA,"GNU") && stristr($HUA,"HURD")))
{
$sistema="Unix (GNU Hurd)";
}
//Para outros Unix
elseif (stristr($HUA,"unix") || stristr($HUA,"x11"))
{
$sistema="Unix";
}
//ÚLTIMOS DETALLES
//Elimina los caracteres raros del final
$version=str_replace(")","",$version);
$version=str_replace(";)","",$version);
$version=str_replace("+","",$version);
$version=str_replace("c-sgi [","",$version);
$version=str_replace("c-ja","",$version);
$version=str_replace("c-cern","",$version);
$version=str_replace("_strs","",$version);
$version=str_replace(" [","",$version);
//Cosas raras
if($sistema==="Linux" && $navegador==="Internet Explorer")
{
$navegador="Mozilla";
$version="Descoñecida";
}
//De non estar definidas las variables, se ponen como desconosidas
if($sistema===false || $sistema==="")
{
$sistema=false;
}
if($version===false || $version==="")
{
$version=false;
}
if($navegador===false || $navegador==="")
{
$navegador=false;
}
//echo $navegador.' ';
//echo $version.' ';
//echo $sistema.' ';
//************************** Termina Sniffer *******


?>
__________________
gerardo
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:05.