PHP 檢測手機瀏覽器的代碼

jopen 9年前發布 | 874 次閱讀 PHP

<?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&quot;); } else { //it's not a mobile browser, do something else header("Location: http://www.yoursite.com/desktop&quot;); // or instead of a redirect, simply build html below }

?></pre>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!