我們做Web開發(fā)的時候,常常需要判斷用戶是否是使用手機訪問網(wǎng)站,從而決定如何頁面任何展示給用戶,以提高用戶體驗,這時需要用到判斷瀏覽器類型的代碼:
下面PHP函數(shù)可以根據(jù)http user-agent判斷是否為手機訪問,如果是則返回true:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
<?php /** * 判斷是否是通過手機訪問 * @return bool 是否是移動設(shè)備 */ public function isMobile() { //判斷手機發(fā)送的客戶端標(biāo)志 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中查找手機瀏覽器的關(guān)鍵字 if(preg_match("/(".implode('|',$clientkeywords).")/i",$userAgent)&&strpos($userAgent,'ipad') === false) { return true; } } return false; } |
附:各移動瀏覽器的http user-agent:
一、微信的http user-agent(關(guān)鍵詞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(關(guān)鍵詞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急速模式關(guān)閉狀態(tài)下的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 平臺極速模式開啟狀態(tài)下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 平臺極速模式關(guān)閉狀態(tài)下 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平臺極速模式開啟狀態(tài)下:(以 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 |
|