一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

php判断是手机访问还是电脑浏览器的方法

时间:2016-04-14 编辑:简简单单 来源:一聚教程网

方法一

preg_match(′|(.*?)|
		′,$useragent,$matches)>0?$matches[0]:′′;      
    function CheckSubstrs($substrs,$text){    
        foreach($substrs as $substr)    
            if(false!==strpos($text,$substr)){    
                return true;    
            }    
            return false;    
    }  
    $mobile_os_list=array(′Google Wireless Transcoder′,′Windows CE′,
		′WindowsCE′,′Symbian′,′Android′,′armv6l′,′armv5′,′Mobile′,
		′CentOS′,′mowser′,′AvantGo′,′Opera Mobi′,′J2ME/MIDP′,
		′Smartphone′,′Go.Web′,′Palm′,′iPAQ′);  
    $mobile_token_list=array(′Profile/MIDP′,′Configuration/CLDC-′,
		′160×160′,′176×220′,′240×240′,′240×320′,′320×240′,′UP.Browser′,
		′UP.Link′,′SymbianOS′,′PalmOS′,′PocketPC′,′SonyEricsson′,
		′Nokia′,′BlackBerry′,′Vodafone′,′BenQ′,′Novarra-Vision′,
		′Iris′,′NetFront′,′HTC_′,′Xda_′,′SAMSUNG-SGH′,′Wapaka′,
		′DoCoMo′,′iPhone′,′iPod′);    
                
    $found_mobile=CheckSubstrs($mobile_os_list,$useragent_commentsblock) ||    
              CheckSubstrs($mobile_token_list,$useragent);    
                
    if ($found_mobile){    
        return true;    
    }else{    
        return false;    
    }    }  if (isMobile())  
    echo ′手机访问 DD博客′;  else
    echo ′电脑访问 DD博客′;  ?>

方法二

function is_mobile_request()  {  
	$_SERVER[′ALL_HTTP′] = isset($_SERVER[′ALL_HTTP′]) 
		? $_SERVER[′ALL_HTTP′] : ′′;  
	$mobile_browser = ′0′;  
	if(preg_match(′/(up.browser|up.link|mmp|symbian|smartphone|
		midp|wap|phone|iphone|ipad|ipod|android|xoom)/i′,
		strtolower($_SERVER[′HTTP_USER_AGENT′])))  
	$mobile_browser  ;  
	if((isset($_SERVER[′HTTP_ACCEPT′])) and (strpos(strtolower(
		$_SERVER[′HTTP_ACCEPT′]),′application/vnd.wap.xhtml xml′) !== false))  
	$mobile_browser  ;  
	if(isset($_SERVER[′HTTP_X_WAP_PROFILE′]))  
		$mobile_browser  ;  
	if(isset($_SERVER[′HTTP_PROFILE′]))  
		$mobile_browser  ;  
	$mobile_ua = strtolower(substr($_SERVER[′HTTP_USER_AGENT′],0,4));  
	$mobile_agents = array(  
	′w3c ′,′acs-′,′alav′,′alca′,′amoi′,′audi′,′avan′,′benq′,′bird′,′blac′,  
	′blaz′,′brew′,′cell′,′cldc′,′cmd-′,′dang′,′doco′,′eric′,′hipt′,′inno′,  
	′ipaq′,′java′,′jigs′,′kddi′,′keji′,′leno′,′lg-c′,′lg-d′,′lg-g′,′lge-′,  
	′maui′,′maxo′,′midp′,′mits′,′mmef′,′mobi′,′mot-′,′moto′,′mwbp′,′nec-′,  
	′newt′,′noki′,′oper′,′palm′,′pana′,′pant′,′phil′,′play′,′port′,′prox′,  
	′qwap′,′sage′,′sams′,′sany′,′sch-′,′sec-′,′send′,′seri′,′sgh-′,′shar′,  
	′sie-′,′siem′,′smal′,′smar′,′sony′,′sph-′,′symb′,′t-mo′,′teli′,′tim-′,  
	′tosh′,′tsm-′,′upg1′,′upsi′,′vk-v′,′voda′,′wap-′,′wapa′,′wapi′,′wapp′,  
	′wapr′,′webc′,′winw′,′winw′,′xda′,′xda-′
	);  
	if(in_array($mobile_ua, $mobile_agents))  
		$mobile_browser  ;  
	if(strpos(strtolower($_SERVER[′ALL_HTTP′]), ′operamini′) !== false)  
		$mobile_browser  ;  
	// Pre-final check to reset everything if the user is on Windows  
	if(strpos(strtolower($_SERVER[′HTTP_USER_AGENT′]), ′windows′) !== false)  
		$mobile_browser=0;  
	// But WP7 is also Windows, with a slightly different characteristic  
	if(strpos(strtolower($_SERVER[′HTTP_USER_AGENT′]), ′windows phone′) !== false)  
		$mobile_browser  ;  
	if($mobile_browser>0)  
		return true;  
	else
		return false;}

这两种方法我都亲测过、没有问题的、希望对大家有用


热门栏目