PHP如何判斷是手機(jī)還是PC?
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名與空間、雅安服務(wù)器托管、營銷軟件、網(wǎng)站建設(shè)、納溪網(wǎng)站維護(hù)、網(wǎng)站推廣。PHP判斷是手機(jī)還是PC的方法:首先將取出“$_SERVER['HTTP_USER_AGENT']”數(shù)據(jù);然后使用正則匹配數(shù)據(jù)中是否有手機(jī)瀏覽器標(biāo)識,如“mobile”、“wap”等;最后根據(jù)匹配結(jié)果即可判斷出是手機(jī)還是PC。
示例代碼
/*移動端判斷*/ function isMobile() { // 如果有HTTP_X_WAP_PROFILE則一定是移動設(shè)備 if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) { return true; } // 如果via信息含有wap則一定是移動設(shè)備,部分服務(wù)商會屏蔽該信息 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é)議法,因為有可能不準(zhǔn)確,放到最后判斷 if (isset ($_SERVER['HTTP_ACCEPT'])) { // 如果只支持wml并且不支持html那一定是移動設(shè)備 // 如果支持wml和html但是wml在html之前則是移動設(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; }
推薦教程:《PHP》
文章題目:PHP如何判斷是手機(jī)還是PC?
本文網(wǎng)址:http://weahome.cn/article/cgcpps.html