Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Detect mobile browser [duplicate]

Tags:

php

mobile

detect

Possible Duplicate:
Simplest way to detect a mobile device

I have a site and I want to detect which browser is used and redirect them. I have a php index and the code must be in php. I've found many sites but they don't work or they don't detect many mobile browsers. Do you know of any good code or tutorials that can detect many mobile browsers?

like image 566
Gromdroid Avatar asked Jun 29 '11 16:06

Gromdroid


1 Answers

Have my user agent code:

<?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; }  ?> 

How to use:

<?php $ismobile = check_user_agent('mobile'); if($ismobile) { return 'yes'; } else { return 'no'; } ?> 
like image 112
iamandrus Avatar answered Oct 24 '22 17:10

iamandrus