php判斷手機端還是pc端
阿新 • • 發佈:2019-02-06
http://www.thinkphp.cn/code/2107.html
- /*移動端判斷*/
- function isMobile()
- {
- // 如果有HTTP_X_WAP_PROFILE則一定是移動裝置
- if(isset ($_SERVER['HTTP_X_WAP_PROFILE']))
- {
- returntrue;
- }
- // 如果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'])))
- {
- returntrue;
- }
- }
- // 協議法,因為有可能不準確,放到最後判斷
-
if(isset ($_SERVER
- {
- // 如果只支援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'))))
- {
- returntrue;
- }
- }
- returnfalse;
- }
判斷是否為微信瀏覽器
function isWeixin() {
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false) {
return true;
} else {
return false;
}
}