首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 判斷行動裝置與桌面裝置存取的完整函式

     編輯:PHP 綜合知識

透過分析 $_SERVER['HTTP_USER_AGENT'] 識別行動裝置,提供不同內容呈現。

完整函式

<?php
function isMobile(){
    $useragent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : '';
    $useragent_commentsblock = 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);
    return $found_mobile;
}
if (isMobile()) echo '手機登錄 m.php.com';
else echo '電腦登錄 www.php.com';
?>

說明

  • 檢查 UA 字串中是否包含已知行動作業系統或裝置特徵字串。
  • 可依需求擴充特徵字串陣列。
  • 現代專案建議使用成熟函式庫(如 Mobile_Detect)以提高準確度。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved