PHP判斷是手機(jī)端還是PC端 PHP判斷是否是微信瀏覽器
本文實(shí)例為大家分享了PHP判斷的兩個(gè)實(shí)例,一是PHP判斷是手機(jī)端還是PC端,二是PHP判斷是否是微信瀏覽器,供大家參考,具體內(nèi)容如下
1、判斷是否是手機(jī)端
function 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ā)送的客戶(hù)端標(biāo)志,兼容性有待提高。其中'MicroMessenger'是電腦微信 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','MicroMessenger'); // 從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; }
代碼二
/** * 移動(dòng)端判斷 */ function isMobile() { // 如果有HTTP_X_WAP_PROFILE則一定是移動(dòng)設(shè)備 if (isset ($_SERVER['HTTP_X_WAP_PROFILE'])) { return true; } // 如果via信息含有wap則一定是移動(dòng)設(shè)備 if (isset ($_SERVER['HTTP_VIA'])) { // 找不到為flase,否則為true return stristr($_SERVER['HTTP_VIA'], "wap") ? true : false; } // 腦殘法,判斷手機(jī)發(fā)送的客戶(hù)端標(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; }
2、判斷是否是微信內(nèi)置瀏覽器
function isWeixin() { if (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false) { return true; } else { return false; } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
php另類(lèi)上傳圖片的方法(PHP用Socket上傳圖片)
又一種上傳圖片的方法,PHP用Socket上傳圖片,很簡(jiǎn)單,直接看代碼就會(huì)。2013-10-10php微信公眾號(hào)開(kāi)發(fā)之簡(jiǎn)答題
這篇文章主要為大家詳細(xì)介紹了php微信公眾號(hào)開(kāi)發(fā)之簡(jiǎn)答題,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-10-10詳解php中serialize()和unserialize()函數(shù)
這篇文章主要介紹了php的serialize()函數(shù)和unserialize()函數(shù)的相關(guān)資料,需要的朋友可以參考下2017-07-07php 在字符串指定位置插入新字符的簡(jiǎn)單實(shí)現(xiàn)
下面小編就為大家?guī)?lái)一篇php 在字符串指定位置插入新字符的簡(jiǎn)單實(shí)現(xiàn)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-06-06Laravel如何實(shí)現(xiàn)適合Api的異常處理響應(yīng)格式
這篇文章主要給大家介紹了關(guān)于Laravel如何實(shí)現(xiàn)適合Api的異常處理響應(yīng)格式的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Laravel具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06Zend Framework教程之路由功能Zend_Controller_Router詳解
這篇文章主要介紹了Zend Framework教程之路由功能Zend_Controller_Router,詳細(xì)分析了路由功能Zend_Controller_Router的原理,使用技巧與相關(guān)注意事項(xiàng),需要的朋友可以參考下2016-03-03TP5框架簡(jiǎn)單登錄功能實(shí)現(xiàn)方法示例
這篇文章主要介紹了TP5框架簡(jiǎn)單登錄功能實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了thinkPHP5框架登錄功能控制器、視圖、登錄驗(yàn)證等相關(guān)操作技巧,需要的朋友可以參考下2019-10-10通過(guò)PHP的Wrapper無(wú)縫遷移原有項(xiàng)目到新服務(wù)的實(shí)現(xiàn)方法
這篇文章主要介紹了通過(guò)PHP的Wrapper無(wú)縫遷移原有項(xiàng)目到新服務(wù)的實(shí)現(xiàn)方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-04-04