奇米影视四色7777久久精品-奇米影视777在线观看一区-七草千岁在线-破产姐妹第二季在线观看天天美剧-国产精品视频铁牛tv-国产精品视频视频久久

0712-2888027 189-8648-0214
微信公眾號

孝感風信網絡科技有限公司微信公眾號

當前位置:主頁 > 技術支持 > PHP > PHP判斷客戶端是PC端還是移動手機端的方法代碼

PHP判斷客戶端是PC端還是移動手機端的方法代碼

時間:2016-04-02來源:風信官網 點擊: 1446次
方法一,摘自discuz
/**
 * 
 * 根據php的$_SERVER['HTTP_USER_AGENT'] 中各種瀏覽器訪問時所包含各個瀏覽器特定的字符串來判斷是屬于PC還是移動端
 * @author           discuz3x
 * @lastmodify    2014-04-09
 * @return  BOOL
 */
function checkmobile() {
 global $_G;
 $mobile = array();
//各個觸控瀏覽器中$_SERVER['HTTP_USER_AGENT']所包含的字符串數組
 static $touchbrowser_list =array('iphone', 'android', 'phone', 'mobile', 'wap', 'netfront', 'java', 'opera mobi', 'opera mini',
    'ucweb', 'windows ce', 'symbian', 'series', 'webos', 'sony', 'blackberry', 'dopod', 'nokia', 'samsung',
    'palmsource', 'xda', 'pieplus', 'meizu', 'midp', 'cldc', 'motorola', 'foma', 'docomo', 'up.browser',
    'up.link', 'blazer', 'helio', 'hosin', 'huawei', 'novarra', 'coolpad', 'webos', 'techfaith', 'palmsource',
    'alcatel', 'amoi', 'ktouch', 'nexian', 'ericsson', 'philips', 'sagem', 'wellcom', 'bunjalloo', 'maui', 'smartphone',
    'iemobile', 'spice', 'bird', 'zte-', 'longcos', 'pantech', 'gionee', 'portalmmm', 'jig browser', 'hiptop',
    'benq', 'haier', '^lct', '320x320', '240x320', '176x220');
//window手機瀏覽器數組【猜的】
 static $mobilebrowser_list =array('windows phone');
//wap瀏覽器中$_SERVER['HTTP_USER_AGENT']所包含的字符串數組
 static $wmlbrowser_list = array('cect', 'compal', 'ctl', 'lg', 'nec', 'tcl', 'alcatel', 'ericsson', 'bird', 'daxian', 'dbtel', 'eastcom',
   'pantech', 'dopod', 'philips', 'haier', 'konka', 'kejian', 'lenovo', 'benq', 'mot', 'soutec', 'nokia', 'sagem', 'sgh',
   'sed', 'capitel', 'panasonic', 'sonyericsson', 'sharp', 'amoi', 'panda', 'zte');
 $pad_list = array('pad', 'gt-p1000');
 $useragent = strtolower($_SERVER['HTTP_USER_AGENT']);
 if(dstrpos($useragent, $pad_list)) {
  return false;
 }
 if(($v = dstrpos($useragent, $mobilebrowser_list, true))){
  $_G['mobile'] = $v;
  return '1';
 }
 if(($v = dstrpos($useragent, $touchbrowser_list, true))){
  $_G['mobile'] = $v;
  return '2';
 }
 if(($v = dstrpos($useragent, $wmlbrowser_list))) {
  $_G['mobile'] = $v;
  return '3'; //wml版
 }
 $brower = array('mozilla', 'chrome', 'safari', 'opera', 'm3gate', 'winwap', 'openwave', 'myop');
 if(dstrpos($useragent, $brower)) return false;
 $_G['mobile'] = 'unknown';
//對于未知類型的瀏覽器,通過$_GET['mobile']參數來決定是否是手機瀏覽器
 if(isset($_G['mobiletpl'][$_GET['mobile']])) {
  return true;
 } else {
  return false;
 }
}
/**
 * 判斷$arr中元素字符串是否有出現在$string中
 * @param  $string     $_SERVER['HTTP_USER_AGENT'] 
 * @param  $arr          各中瀏覽器$_SERVER['HTTP_USER_AGENT']中必定會包含的字符串
 * @param  $returnvalue 返回瀏覽器名稱還是返回布爾值,true為返回瀏覽器名稱,false為返回布爾值【默認】
 * @author           discuz3x
 * @lastmodify    2014-04-09
 */
function dstrpos($string, $arr, $returnvalue = false) {
 if(empty($string)) return false;
 foreach((array)$arr as $v) {
  if(strpos($string, $v) !== false) {
   $return = $returnvalue ? $v : true;
   return $return;
  }
 }
 return false;
}

方法二:網上的一種方法
<?php
function isMobile()
{ 
    // 如果有HTTP_X_WAP_PROFILE則一定是移動設備
    if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))
    {
        return true;
    } 
    // 如果via信息含有wap則一定是移動設備,部分服務商會屏蔽該信息
    if (isset ($_SERVER['HTTP_VIA']))
    { 
        // 找不到為flase,否則為true
        return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false;
    } 
    // 腦殘法,判斷手機發送的客戶端標志,兼容性有待提高
    if (isset ($_SERVER['HTTP_USER_AGENT']))
    {
        $clientkeywords = array ('nokia',
            'sony',
            'ericsson',
            'mot',
            'samsung',
            'htc',
            'sgh',
            'lg',
            'sharp',
            'sie-',
            'philips',
            'panasonic',
            'alcatel',
            'lenovo',
            'iphone',
            'ipod',
            'blackberry',
            'meizu',
            'android',
            'netfront',
            'symbian',
            'ucweb',
            'windowsce',
            'palm',
            'operamini',
            'operamobi',
            'openwave',
            'nexusone',
            'cldc',
            'midp',
            'wap',
            'mobile'
            ); 
        // 從HTTP_USER_AGENT中查找手機瀏覽器的關鍵字
        if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT'])))
        {
            return true;
        } 
    } 
    // 協議法,因為有可能不準確,放到最后判斷
    if (isset ($_SERVER['HTTP_ACCEPT']))
    { 
        // 如果只支持wml并且不支持html那一定是移動設備
        // 如果支持wml和html但是wml在html之前則是移動設備
        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'))))
        {
            return true;
        } 
    } 
    return false;
} 
?>
欄目列表
推薦內容
熱點內容
展開
主站蜘蛛池模板: 国产在线中文字幕| 在线视频日韩| 精品伊人久久久99热这里只| 欧美成人看片一区二区三区尤物| 一级大片免费看| 欧美日韩综合在线视频免费看| 虫爱动漫在线观看视频| 国产精品欧美激情第一页| 久久国产精品久久国产精品| 99视频有精品| 亚洲国产免费| 成人自拍视频网站| 一级成人| 欧美一区二区三区四区在线观看| 午夜看片网站| 91网址免费入口| 日本高清免费视频aa| 不卡无毒免费毛片视频观看| 乱在线伦视频免费| 日本欧美高清全视频| 亚洲国产欧美在线人成aaa | 成人精品久久| 日韩免费一区| 欧美黄色小视频| 97国产精品视频观看一| 欧美曰批人成在线观看| 免费在线黄| 九一国产精品| 国产精品成人观看视频国产奇米| 国产日韩欧美在线播放| 日韩欧美亚洲国产高清在线| 国产综合影院| 在线观看欧美亚洲| 华人在线视频| 亚洲区精品久久一区二区三区| 中国jizz妇女jizz妇女| 成人午夜大片免费7777| 2022国产成人精彩在线视频| 99视频在线| 成人毛片基地| 亚洲黄网在线|