国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > PHP > 正文

PHP 判斷移動設備的函數isMobile()

2024-09-04 11:49:29
字體:
來源:轉載
供稿:網友

不廢話上代碼,使用方法就是:

  1. <?php  
  2.  
  3. if(isMobile()){} 
  4.  
  5. if(!isMobile()){} 
  6.  
  7.  ?> 
  8.      
  9.  
  10. function isMobile() { 
  11.     $user_agent = $_SERVER['HTTP_USER_AGENT']; 
  12.  
  13. $mobile_agents = Array("240x320""acer""acoon""acs-""abacho""ahong""airness""alcatel""amoi""android""anywhereyougo.com""applewebkit/525""applewebkit/532""asus""audio""au-mic""avantogo""becker""benq""bilbo""bird""blackberry""blazer""bleu""cdm-""compal""coolpad""danger""dbtel""dopod""elaine""eric""etouch""fly ""fly_""fly-""go.web""goodaccess""gradiente""grundig""haier""hedy""hitachi""htc""huawei""hutchison""inno""ipad""ipaq""ipod""jbrowser""kddi""kgt""kwc""lenovo""lg ""lg2""lg3""lg4""lg5""lg7""lg8""lg9""lg-""lge-""lge9""longcos""maemo""mercator""meridian""micromax""midp""mini""mitsu""mmm""mmp""mobi""mot-""moto""nec-""netfront""newgen""nexian""nf-browser""nintendo""nitro""nokia""nook""novarra""obigo""palm""panasonic""pantech""philips""phone""pg-""playstation""pocket""pt-""qc-""qtek""rover""sagem""sama""samu""sanyo""samsung""sch-""scooter""sec-""sendo""sgh-""sharp""siemens""sie-""softbank""sony""spice""sprint""spv""symbian""tablet""talkabout""tcl-""teleca""telit""tianyu""tim-""toshiba""tsm""up.browser""utec""utstar""verykool""virgin""vk-""voda""voxtel""vx""wap""wellco""wig browser""wii""windows ce""wireless""xda""xde""zte"); 
  14.     $is_mobile = false; 
  15.  
  16. foreach ($mobile_agents as $device) { 
  17.  
  18.   if (stristr($user_agent$device)) { 
  19.  
  20.     $is_mobile = true; 
  21.  
  22.     break
  23.  
  24.   } 
  25.  
  26.  
  27. return $is_mobile
  28.  

網友補充了一個:

  1. <?php 
  2.  
  3. function isMobile() 
  4.  
  5. {  
  6.  
  7.     // 如果有HTTP_X_WAP_PROFILE則一定是移動設備 
  8.  
  9.     if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) 
  10.  
  11.     { 
  12.  
  13.         return true; 
  14.  
  15.     }  
  16.  
  17.     // 如果via信息含有wap則一定是移動設備,部分服務商會屏蔽該信息 
  18.  
  19.     if (isset ($_SERVER['HTTP_VIA'])) 
  20.  
  21.     {  
  22.  
  23.         // 找不到為flase,否則為true 
  24.  
  25.         return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false; 
  26.  
  27.     }  
  28.  
  29.     // 腦殘法,判斷手機發送的客戶端標志,兼容性有待提高 
  30.  
  31.     if (isset ($_SERVER['HTTP_USER_AGENT'])) 
  32.  
  33.     { 
  34.  
  35.         $clientkeywords = array ('nokia'
  36.  
  37.             'sony'
  38.  
  39.             'ericsson'
  40.  
  41.             'mot'
  42.  
  43.             'samsung'
  44.  
  45.             'htc'
  46.  
  47.             'sgh'
  48.  
  49.             'lg'
  50.  
  51.             'sharp'
  52.  
  53.             'sie-'
  54.  
  55.             'philips'
  56.  
  57.             'panasonic'
  58.  
  59.             'alcatel'
  60.  
  61.             'lenovo'
  62.  
  63.             'iphone'
  64.  
  65.             'ipod'
  66.  
  67.             'blackberry'
  68.  
  69.             'meizu'
  70.  
  71.             'android'
  72.  
  73.             'netfront'
  74.  
  75.             'symbian'
  76.  
  77.             'ucweb'
  78.  
  79.             'windowsce'
  80.  
  81.             'palm'
  82.  
  83.             'operamini'
  84.  
  85.             'operamobi'
  86.  
  87.             'openwave'
  88.  
  89.             'nexusone'
  90.  
  91.             'cldc'
  92.  
  93.             'midp'
  94.  
  95.             'wap'
  96.  
  97.             'mobile' 
  98.  
  99.             );  
  100.  
  101.         // 從HTTP_USER_AGENT中查找手機瀏覽器的關鍵字 
  102.  
  103.         if (preg_match("/(" . implode('|'$clientkeywords) . ")/i"strtolower($_SERVER['HTTP_USER_AGENT']))) 
  104.  
  105.         { 
  106.  
  107.             return true; 
  108.  
  109.         }  
  110.  
  111.     }  
  112.  
  113.     // 協議法,因為有可能不準確,放到最后判斷 
  114.  
  115.     if (isset ($_SERVER['HTTP_ACCEPT'])) 
  116.  
  117.     {  
  118.  
  119.         // 如果只支持wml并且不支持html那一定是移動設備 
  120.  
  121.         // 如果支持wml和html但是wml在html之前則是移動設備 
  122.  
  123.         if ((strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false) && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html')))) 
  124.  
  125.         { 
  126.  
  127.             return true; 
  128.  
  129.         }  
  130.  
  131.     }  
  132.  
  133.     return false; 
  134.  
  135. }  
  136.  
  137. ?> 

國外人喜歡寫類,有一個Mobile Detect,Mobile_Detect 簡單使用實例:

  1. include 'Mobile_Detect.php'
  2.  
  3. $detect = new Mobile_Detect(); 
  4.  
  5.   
  6.  
  7. // Check for any mobile device. 
  8.  
  9. if ($detect->isMobile()) 
  10.  
  11.   
  12.  
  13. // Check for any tablet. 
  14.  
  15. if($detect->isTablet()) 
  16.  
  17.   
  18.  
  19. // Check for any mobile device, excluding tablets. 
  20.  
  21. if ($detect->isMobile() && !$detect->isTablet()) 
  22.  
  23.   
  24.  
  25. if ($detect->isMobile() && !$detect->isTablet()) 
  26.  
  27.   
  28.  
  29. // Alternative to $detect->isAndroidOS() 
  30.  
  31. $detect->is('AndroidOS'); 
  32.  
  33.   
  34.  
  35. // Batch usage 
  36.  
  37. foreach($userAgents as $userAgent){ 
  38.  
  39.   $detect->setUserAgent($userAgent); 
  40.  
  41.   $isMobile = $detect->isMobile(); 
  42.  //Vevb.com 
  43.  
  44. // Version check. 
  45.  
  46. $detect->version('iPad'); // 4.3 (float)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 攀枝花市| 华宁县| 大丰市| 额敏县| 炎陵县| 沧源| 伊春市| 双柏县| 阳城县| 赤水市| 大同县| 金昌市| 锡林浩特市| 宣城市| 南郑县| 健康| 秦皇岛市| 濉溪县| 句容市| 根河市| 绥德县| 平邑县| 闵行区| 科技| 岳阳县| 河西区| 将乐县| 海阳市| 仁怀市| 温泉县| 安吉县| 安仁县| 景宁| 武川县| 同心县| 靖西县| 万荣县| 海林市| 新蔡县| 谢通门县| 蓝山县|