我們做Web開發的時候,常常需要判斷用戶是否是使用手機訪問網站,從而決定如何頁面任何展示給用戶,以提高用戶體驗,這時需要用到判斷瀏覽器類型的代碼:
下面PHP函數可以根據http user-agent判斷是否爲手機訪問,如果是則返回true
<?php
/**
* 判斷是否是通過手機訪問
* @return bool 是否是移動設備
*/
public function isMobile() {
//判斷手機發送的客戶端標誌
if(isset($_SERVER['HTTP_USER_AGENT'])) {
$userAgent = strtolower($_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', 'opera mobi', 'openwave', 'nexusone', 'cldc', 'midp', 'wap', 'mobile'
);
// 從HTTP_USER_AGENT中查找手機瀏覽器的關鍵字
if(preg_match("/(".implode('|',$clientkeywords).")/i",$userAgent)&&strpos($userAgent,'ipad') === false)
{
return true;
}
}
return false;
}
附:各移動瀏覽器的http user-agent:
一、微信的http user-agent(關鍵詞MicroMessenger)
1. Iphone(蘋果)平臺微信的ucweb的useragent:
| Mozilla/5.0 (iPhone; CPU iPhone OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/9B176 MicroMessenger/4.3.2 |
2. Android(安卓)平臺微信的ucweb的useragent:
|
Mozilla/5.0
(Linux;
U;
Android
2.3.6;
zh-cn;
GT-S5660
Build/GINGERBREAD)
AppleWebKit/533.1
(KHTML,
like
Gecko)
Version/4.0
Mobile
Safari/533.1
MicroMessenger/4.5.255
|
二、UC瀏覽器的http user-agent(關鍵詞UCWEB)
1. android平臺:
android平臺ucweb急速模式開啓下ucweb瀏覽器useragent:
| UCWEB/2.0 (Linux; U; Adr 2.3; zh-CN; MI-ONEPlus) U2/1.0.0 UCBrowser/8.6.0.199 U2/1.0.0 Mobile |
android平臺ucweb急速模式關閉狀態下的http_user_agent:
|
Mozilla/5.0
(Linux;
U;
Android
2.3;
zh-CN;
MI-ONEPlus)
AppleWebKit/534.13
(KHTML,
like
Gecko)
UCBrowser/8.6.0.199
U3/0.8.0
Mobile
Safari/534.13
|
2. iPhone 平臺
iPhone 平臺極速模式開啓狀態下ucweb瀏覽器useragent:
| UCWEB/2.0 (iOS; U; iPh OS 4_3_2; zh-CN; iPh4) U2/1.0.0 UCBrowser/8.6.0.199 U2/1.0.0 Mobile |
iPhone 平臺極速模式關閉狀態下 UA 示例如下:(OBUA 爲自帶瀏覽器 UA)
|
OBUA
UCBrowser/8.6.0.199
Mobile
|
3. iPad 平臺
ipad平臺下ucweb瀏覽器useragent:
| Mozilla/5.0 (iPad; U; CPU OS 6_0 like Mac OS X; zh-CN; iPad2) AppleWebKit/534.13 (KHTML, like Gecko) UCBrowser/8.6.0.199 U3/0.8.0 Safari/534.13 |
4. windows Phone平臺
WP平臺下ucweb瀏覽器useragent:
WP平臺極速模式開啓狀態下:(以 Nokia 900 爲例)
|
UCWEB/2.0
(Windows;
U;
wds7.10;
zh-CN;
Nokia
900)
U2/1.0.0
UCBrowser/8.6.0.199
U2/1.0.0
Mobile
|
5. 諾基亞平臺
諾基亞手機Symbian&Java平臺ucweb瀏覽器useragen:
|
Nokia
5800
XpressMusic/UCWEB8.9.0.253/50/999
|