检测手机浏览器的代码

分类:PHP | 作者:凹凸曼 | 发表于2011/04/22

<?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|320×320|240×320|176×220″; 

    $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.php100.com/?mobile”>View Mobile Site</a> 

<a href=”http://www.php100.com/?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.php100.com/mobile”); 

} else { 

    //it’s not a mobile browser, do something else 

    header(“Location: http://www.php100.com/desktop”); 

    // or instead of a redirect, simply build html below 

?> 

来源:开源中国社区

Tag:

日志信息 »

该日志于2011-04-22 01:10由 凹凸曼 发表在PHP分类下, 你可以发表评论。除了可以将这个日志以保留源地址及作者的情况下引用到你的网站或博客,还可以通过RSS 2.0订阅这个日志的所有评论。

目前盖楼 (0)层:

发表评论 »

« »