El primer paso para hacer amigable nuestro sitio con dispositivos móviles es reconocerlos. Reconociendo el navegador de un dispositivo móvil podemos ofrecerle al visitante un sitio web apto para su navegador.
En este tutorial aprenderemos como reconocer los dispositivos moviles por medio de PHP. Para lograrlo debemos obtener el user-agent del navegador, el user-agent es la identificación que el navegador nos proporciona en donde indica su versión, sistema operativo, tipo de dispositivo, etc. Para obtener el user-agent debemos llamar a la variable $_SERVER['HTTP_USER_AGENT'].
Para empezar debemos hacer un listado de navegadores móviles junto con su respectivo user-agent, lo haremos en el array $dm_usergent. Lo más recomendable es colocar primero los user-agent que son más específicos para que la detección sea igual de especifica (si así lo deseamos).
Una vez definidos los navegadores pasamos a crear la función que detectara el navegador, la función requiere dos parametros: el primero el listado de navegadores, en este caso $dm_usergent y el segundo parámetro es el user-agent que queremos comprobar.
Como pueden observar la función comprueba uno a uno los navegadores y cuando encuentra una coincidencia devuelve el nombre del navegador, por eso es importante colocar los user-agent más específicos al principio para que no sean ignorados.
Llamamos a la función enviandole el listado y el user-agent por medio de la variable $_SERVER['HTTP_USER_AGENT']
Por último solo debemos redireccionar el sitio web con una condición sencilla: si el navegador se encuentra en la lista es un dispositivo móvil y lo redireccionamos a la página dm.html con la funcion header() y si por el contrario no lo es, lo redirigimos a la página pc.html.
El código final debe quedar así:
<
>function obtenerNavegador($useragents, $useragent){
foreach($useragents as $nav=>$ua){
if(strstr($useragent, $ua)!=false){
return $nav;
}
}
return 'Desconocido';
}
</p>
<
>$navegador=obtenerNavegador($dm_usergent,$_SERVER['HTTP_USER_AGENT']);
if($navegador!='Desconocido'){
header('Location: dm.html');
}else{
header('Location: pc.html');
}
?>
Si deseas también puedes descargar el ejemplo en formato zip.
¿Tienes dudas o comentarios? Puedes enviarmelos por la Ayuda en línea o el formulario de contacto