Double Possible:
Façon la plus simple pour détecter un périphérique mobileJ'ai un site et je veux détecter le navigateur utilisé et les rediriger. J'ai un indice de php et le code doit être en php. J'ai trouvé de nombreux sites, mais ils ne fonctionnent pas ou ne sont pas en mesure de détecter de nombreux navigateurs mobiles. Connaissez-vous un bon code ou des tutoriels qui peuvent détecter de nombreux navigateurs mobiles?
Réponses
Trop de publicités?Demandez à mon code d'agent utilisateur:
<?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;
}
?>
Comment utiliser:
<?php
$ismobile = check_user_agent('mobile');
if($ismobile) {
return 'yes';
} else {
return 'no';
}
?>
J'ai écrit ce script pour détecter un navigateur mobile en PHP.
Le code détecte un utilisateur sur la base de la chaîne de l'agent utilisateur par preg_match()ing. Il a une précision de 100% sur tous les appareils mobiles actuels et je suis en train de le mettre à jour à l'appui de plus d'appareils mobiles comme elles viennent. Le code est appelé isMobile et est comme suit:
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"]);
}
Vous pouvez l'utiliser comme ceci:
// Use the function
if(isMobile())
// Do something for only mobile users
else
// Do something for only desktop users
Pour rediriger un utilisateur vers votre site mobile, je ferais ceci:
// 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/");
Laissez-moi savoir si vous avez des questions et bonne chance!