php - programacion - Detectar navegador móvil
navigator useragent (3)
En el trabajo, usamos WURFL : hay millones de navegadores diferentes, y es mejor que reutilice el trabajo que otros con experiencia hicieron en ese sentido que implementar su propia solución.
Posible duplicado:
La forma más simple de detectar un dispositivo móvil
Tengo un sitio y quiero detectar qué navegador se usa y redirigirlo. Tengo un índice php y el código debe estar en php. He encontrado muchos sitios pero no funcionan o no detectan muchos navegadores móviles. ¿Conoces algún buen código o tutoriales que pueda detectar muchos navegadores móviles?
Escribí este script para detectar un navegador móvil en PHP.
El código detecta a un usuario basado en la cadena de agente de usuario por preg_match () ing. Tiene el 100% de precisión en todos los dispositivos móviles actuales y actualmente estoy actualizando para admitir más dispositivos móviles a medida que salen. El código se llama isMobile y es el siguiente:
function isMobile() {
return preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up/.browser|up/.link|webos|wos)/i", $_SERVER["HTTP_USER_AGENT"]);
}
Puedes usarlo así:
// Use the function
if(isMobile())
// Do something for only mobile users
else
// Do something for only desktop users
Para redirigir a un usuario a su sitio móvil, haría esto:
// Create the function, so you can use it
function isMobile() {
return preg_match("/(android|avantgo|blackberry|bolt|boost|cricket|docomo|fone|hiptop|mini|mobi|palm|phone|pie|tablet|up/.browser|up/.link|webos|wos)/i", $_SERVER["HTTP_USER_AGENT"]);
}
// If the user is on a mobile device, redirect them
if(isMobile())
header("Location: http://m.yoursite.com/");
¡Avíseme si tiene alguna pregunta y buena suerte!
Tener mi código de agente de usuario:
<?php
/* USER-AGENTS
================================================== */
function check_user_agent ( $type = NULL ) {
$user_agent = strtolower ( $_SERVER[''HTTP_USER_AGENT''] );
if ( $type == ''bot'' ) {
// matches popular bots
if ( preg_match ( "/googlebot|adsbot|yahooseeker|yahoobot|msnbot|watchmouse|pingdom/.com|feedfetcher-google/", $user_agent ) ) {
return true;
// watchmouse|pingdom/.com are "uptime services"
}
} else if ( $type == ''browser'' ) {
// matches core browser types
if ( preg_match ( "/mozilla//|opera///", $user_agent ) ) {
return true;
}
} else if ( $type == ''mobile'' ) {
// matches popular mobile devices that have small screens and/or touch inputs
// mobile devices have regional trends; some of these will have varying popularity in Europe, Asia, and America
// detailed demographics are unknown, and South America, the Pacific Islands, and Africa trends might not be represented, here
if ( preg_match ( "/phone|iphone|itouch|ipod|symbian|android|htc_|htc-|palmos|blackberry|opera mini|iemobile|windows ce|nokia|fennec|hiptop|kindle|mot |mot-|webos//|samsung|sonyericsson|^sie-|nintendo/", $user_agent ) ) {
// these are the most common
return true;
} else if ( preg_match ( "/mobile|pda;|avantgo|eudoraweb|minimo|netfront|brew|teleca|lg;|lge |wap;| wap /", $user_agent ) ) {
// these are less common, and might not be worth checking
return true;
}
}
return false;
}
?>
Cómo utilizar:
<?php
$ismobile = check_user_agent(''mobile'');
if($ismobile) {
return ''yes'';
} else {
return ''no'';
}
?>