Revision: 41000
                            
                                                            
                                    
                                        
Updated Code
                                    
                                    
                                                    
                        at April 4, 2011 08:46 by beneberle
                            
                            Updated Code
<?php
function is_mobile(){
	// returns true if one of the specified mobile browsers is detected
	$regex_match="/(nokia|iphone|android|motorola|^mot\-|softbank|foma|docomo|kddi|up\.browser|up\.link|";
	$regex_match.="htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|";
	$regex_match.="blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam\-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|";	
	$regex_match.="symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte\-|longcos|pantech|gionee|^sie\-|portalmmm|";
	$regex_match.="jig\s browser|hiptop|^ucweb|^benq|haier|^lct|opera\s*mobi|opera\*mini|320x320|240x320|176x220";
	$regex_match.=")/i";		
	return isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE']) or preg_match($regex_match, strtolower($_SERVER['HTTP_USER_AGENT']));
}
/*
allow the user a way to force either the full or mobile versions of the site - use a GET parameter on requests:
include links to both versions of the site w/ the special force mode parameters, 'mobile' and 'full':
<a href="http://www.example.org/?mobile">View Mobile Site</a>
<a href="http://www.example.org/?full">View Full Site</a>
Always check for 'mobile' or 'full' parameters before accounting for any User-Agent conditions:
*/
if ($_GET['mobile']) {
 $is_mobile = true;
}
 
if ($_GET['full']) {
 $is_mobile = false;
}
if($is_mobile) {
	//it's a mobile browser, do something
	header("Location: http://www.yoursite.com/mobile");
} else {
	//it's not a mobile browser, do something else
	header("Location: http://www.yoursite.com/desktop");
	// or instead of a redirect, simply build html below
}
?>
                                
                            Revision: 40999
                            
                                                            
                                    
                                        
Initial Code
                                    
                                    
                                                            
                                    
                                        
Initial URL
                                    
                                    
                                                            
                                    
                                        
Initial Description
                                    
                                    
                                                            
                                    
                                        
Initial Title
                                    
                                    
                                                            
                                    
                                        
Initial Tags
                                    
                                    
                                                            
                                    
                                        
Initial Language
                                    
                                    
                                                    
                        at February 10, 2011 16:02 by beneberle
                            
                            Initial Code
<?php
function is_mobile(){
	// returns true if one of the specified mobile browsers is detected
	$regex_match="/(nokia|iphone|android|motorola|^mot\-|softbank|foma|docomo|kddi|up\.browser|up\.link|";
	$regex_match.="htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|";
	$regex_match.="blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam\-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|";	
	$regex_match.="symbian|smartphone|midp|wap|phone|windows ce|iemobile|^spice|^bird|^zte\-|longcos|pantech|gionee|^sie\-|portalmmm|";
	$regex_match.="jig\s browser|hiptop|^ucweb|^benq|haier|^lct|opera\s*mobi|opera\*mini|320x320|240x320|176x220";
	$regex_match.=")/i";		
	return isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE']) or preg_match($regex_match, strtolower($_SERVER['HTTP_USER_AGENT']));
}
/*
allow the user a way to force either the full or mobile versions of the site - use a GET parameter on requests:
include likes to both versions of the site w/ the special force mode parameters, 'mobile' and 'full':
<a href="http://www.example.org/?mobile">View Mobile Site</a>
<a href="http://www.example.org/?full">View Full Site</a>
Always check for 'mobile' or 'full' parameters before accounting for any User-Agent conditions:
*/
if ($_GET['mobile']) {
 $is_mobile = true;
}
 
if ($_GET['full']) {
 $is_mobile = false;
}
if($is_mobile) {
	//it's a mobile browser, do something
	header("Location: http://www.yoursite.com/mobile");
} else {
	//it's not a mobile browser, do something else
	header("Location: http://www.yoursite.com/desktop");
	// or instead of a redirect, simply build html below
}
?>
                                Initial URL
http://mobiforge.com/developing/story/lightweight-device-detection-php
Initial Description
Though an old post, this is my solution that's been pieced together from various comments on the article linked above.
Initial Title
Simple User Agent (Mobile and Smartphone) Detection and Redirction with PHP
Initial Tags
php, redirect, mobile, iphone, ios
Initial Language
PHP