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

首頁(yè) > 語(yǔ)言 > PHP > 正文

基于php判斷客戶端類(lèi)型

2024-05-04 23:51:06
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

在網(wǎng)站用戶數(shù)據(jù)統(tǒng)計(jì)的時(shí)候,我們經(jīng)常需要獲取用戶瀏覽器的類(lèi)型和操作系統(tǒng)的類(lèi)型,本文主要介紹的是基于php判斷客戶端類(lèi)型,有需要的朋友可以來(lái)了解一下。

方法一:

/** *  * 根據(jù)php的$_SERVER['HTTP_USER_AGENT'] 中各種瀏覽器訪問(wèn)時(shí)所包含各個(gè)瀏覽器特定的字符串來(lái)判斷是屬于PC還是移動(dòng)端 * @author      discuz3x * @lastmodify  2014-04-09 * @return BOOL */function checkmobile() { global $_G; $mobile = array();//各個(gè)觸控瀏覽器中$_SERVER['HTTP_USER_AGENT']所包含的字符串?dāng)?shù)組 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手機(jī)瀏覽器數(shù)組【猜的】 static $mobilebrowser_list =array('windows phone');//wap瀏覽器中$_SERVER['HTTP_USER_AGENT']所包含的字符串?dāng)?shù)組 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';//對(duì)于未知類(lèi)型的瀏覽器,通過(guò)$_GET['mobile']參數(shù)來(lái)決定是否是手機(jī)瀏覽器 if(isset($_G['mobiletpl'][$_GET['mobile']])) { return true; } else { return false; }}/** * 判斷$arr中元素字符串是否有出現(xiàn)在$string中 * @param $string   $_SERVER['HTTP_USER_AGENT']  * @param $arr     各中瀏覽器$_SERVER['HTTP_USER_AGENT']中必定會(huì)包含的字符串 * @param $returnvalue 返回瀏覽器名稱(chēng)還是返回布爾值,true為返回瀏覽器名稱(chēng),false為返回布爾值【默認(rèn)】 * @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;}

方法二:

<?phpfunction isMobile(){   // 如果有HTTP_X_WAP_PROFILE則一定是移動(dòng)設(shè)備  if (isset ($_SERVER['HTTP_X_WAP_PROFILE']))  {    return true;  }   // 如果via信息含有wap則一定是移動(dòng)設(shè)備,部分服務(wù)商會(huì)屏蔽該信息  if (isset ($_SERVER['HTTP_VIA']))  {     // 找不到為flase,否則為true    return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false;  }   // 腦殘法,判斷手機(jī)發(fā)送的客戶端標(biāo)志,兼容性有待提高  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中查找手機(jī)瀏覽器的關(guān)鍵字    if (preg_match("/(" . implode('|', $clientkeywords) . ")/i", strtolower($_SERVER['HTTP_USER_AGENT'])))    {      return true;    }   }   // 協(xié)議法,因?yàn)橛锌赡懿粶?zhǔn)確,放到最后判斷  if (isset ($_SERVER['HTTP_ACCEPT']))  {     // 如果只支持wml并且不支持html那一定是移動(dòng)設(shè)備    // 如果支持wml和html但是wml在html之前則是移動(dòng)設(shè)備    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;} ?>

判斷手機(jī)端是IOS還是Android

代碼如下:

/** * 判斷是否手機(jī)訪問(wèn) */function is_mobile(){  static $is_mobile;  if (isset($is_mobile)) return $is_mobile;  if (empty($_SERVER['HTTP_USER_AGENT'])) {    $is_mobile = false;  } elseif (strpos($_SERVER['HTTP_USER_AGENT'], 'Mobile') !== false // many mobile devices (all iPhone, iPad, etc.)    || strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false    || strpos($_SERVER['HTTP_USER_AGENT'], 'Silk/') !== false    || strpos($_SERVER['HTTP_USER_AGENT'], 'Kindle') !== false    || strpos($_SERVER['HTTP_USER_AGENT'], 'BlackBerry') !== false    || strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') !== false    || strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mobi') !== false  ) {    $is_mobile = true;  } else {    $is_mobile = false;  }  return $is_mobile;}

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到PHP教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 清镇市| 静安区| 宜君县| 连州市| 广宁县| 邳州市| 敖汉旗| 阜平县| 蓬安县| 岱山县| 洛川县| 横山县| 大厂| 东辽县| 西昌市| 大埔区| 新民市| 胶州市| 临漳县| 景东| 额济纳旗| 九江县| 正镶白旗| 盘锦市| 永宁县| 凤山县| 平湖市| 新绛县| 鸡泽县| 涡阳县| 互助| 长沙县| 轮台县| 吴江市| 武冈市| 金阳县| 霍山县| 洪洞县| 美姑县| 象州县| 五大连池市|