PHP中通過HTTP_USER_AGENT判斷是否為手機(jī)移動(dòng)終端的函數(shù)代碼
更新時(shí)間:2013年02月14日 22:56:13 作者:
經(jīng)常我們需要做一些判斷是否是手機(jī)訪問的時(shí)候,然后進(jìn)行自動(dòng)跳轉(zhuǎn)操作,這是從一個(gè)PHP框架分離出來的一段判斷是否為手機(jī)移動(dòng)終端的函數(shù),分享下
有時(shí)候很實(shí)用在一些場合,留住備用吧
復(fù)制代碼 代碼如下:
function is_mobile_request()
{
$_SERVER['ALL_HTTP'] = isset($_SERVER['ALL_HTTP']) ? $_SERVER['ALL_HTTP'] : '';
$mobile_browser = '0';
if(preg_match('/(up.browser|up.link|mmp|symbian|smartphone|midp|wap|phone|iphone|ipad|ipod|android|xoom)/i', strtolower($_SERVER['HTTP_USER_AGENT'])))
$mobile_browser++;
if((isset($_SERVER['HTTP_ACCEPT'])) and (strpos(strtolower($_SERVER['HTTP_ACCEPT']),'application/vnd.wap.xhtml+xml') !== false))
$mobile_browser++;
if(isset($_SERVER['HTTP_X_WAP_PROFILE']))
$mobile_browser++;
if(isset($_SERVER['HTTP_PROFILE']))
$mobile_browser++;
$mobile_ua = strtolower(substr($_SERVER['HTTP_USER_AGENT'],0,4));
$mobile_agents = array(
'w3c ','acs-','alav','alca','amoi','audi','avan','benq','bird','blac',
'blaz','brew','cell','cldc','cmd-','dang','doco','eric','hipt','inno',
'ipaq','java','jigs','kddi','keji','leno','lg-c','lg-d','lg-g','lge-',
'maui','maxo','midp','mits','mmef','mobi','mot-','moto','mwbp','nec-',
'newt','noki','oper','palm','pana','pant','phil','play','port','prox',
'qwap','sage','sams','sany','sch-','sec-','send','seri','sgh-','shar',
'sie-','siem','smal','smar','sony','sph-','symb','t-mo','teli','tim-',
'tosh','tsm-','upg1','upsi','vk-v','voda','wap-','wapa','wapi','wapp',
'wapr','webc','winw','winw','xda','xda-'
);
if(in_array($mobile_ua, $mobile_agents))
$mobile_browser++;
if(strpos(strtolower($_SERVER['ALL_HTTP']), 'operamini') !== false)
$mobile_browser++;
// Pre-final check to reset everything if the user is on Windows
if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'windows') !== false)
$mobile_browser=0;
// But WP7 is also Windows, with a slightly different characteristic
if(strpos(strtolower($_SERVER['HTTP_USER_AGENT']), 'windows phone') !== false)
$mobile_browser++;
if($mobile_browser>0)
return true;
else
return false;
}
文章來源:http://yi1.com.cn/posts/781
php 根據(jù)HTTP_USER_AGENT 判斷用戶瀏覽器類型
復(fù)制代碼 代碼如下:
function browsers(){
global $HTTP_USER_AGENT ;
if (isset($HTTP_USER_AGENT)){
$sAgent = $HTTP_USER_AGENT;
}else{
$sAgent = $_SERVER['HTTP_USER_AGENT'];
}
if (strpos($sAgent,'MSIE') !== false && strpos($sAgent,'mac') === false && strpos($sAgent,'Opera') === false){
$iVersion = (float)substr($sAgent,strpos($sAgent,'MSIE') + 5,3);
return ($iVersion >= 5.5) ;
}else if (strpos($sAgent,'Gecko/') !== false){
$iVersion = (int)substr($sAgent,strpos($sAgent,'Gecko/') + 6,8);
return ($iVersion >= 20030210) ;
}else{
return false;
}
}
您可能感興趣的文章:
- PHP判斷是手機(jī)端還是PC端 PHP判斷是否是微信瀏覽器
- thinkphp判斷訪客為手機(jī)端或PC端的方法
- 在WordPress中使用PHP腳本來判斷訪客來自什么國家
- php 判斷訪客是否為搜索引擎蜘蛛的函數(shù)代碼
- 利用PHP判斷是手機(jī)移動(dòng)端還是PC端訪問的函數(shù)示例
- php函數(shù)實(shí)現(xiàn)判斷是否移動(dòng)端訪問
- php/asp/asp.net中判斷百度移動(dòng)和PC蜘蛛的實(shí)現(xiàn)代碼
- PHP判斷是否是微信打開還是瀏覽器打開的方法
- 通過JS和PHP兩種方法判斷用戶請(qǐng)求時(shí)使用的瀏覽器類型
- 使用PHP和JavaScript判斷請(qǐng)求是否來自微信內(nèi)瀏覽器
- PHP判斷訪客是否手機(jī)端(移動(dòng)端瀏覽器)訪問的方法總結(jié)【4種方法】
相關(guān)文章
淺析PHP安裝擴(kuò)展mcrypt以及相關(guān)依賴項(xiàng)(PHP安裝PECL擴(kuò)展的方法)
本篇文章是對(duì)PHP安裝擴(kuò)展mcrypt以及相關(guān)依賴項(xiàng)(PHP安裝PECL擴(kuò)展的方法)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-07-07php實(shí)現(xiàn)用戶注冊(cè)密碼的crypt加密
這篇文章主要為大家詳細(xì)介紹了php實(shí)現(xiàn)用戶注冊(cè)密碼的crypt加密,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06PHP和Java 集成開發(fā)詳解分析 強(qiáng)強(qiáng)聯(lián)合
很久以前,有人從www上看到看到天空上一個(gè)很亮的亮點(diǎn),它就是Java語言,與此同時(shí),在另一個(gè)地方一位夢(mèng)想家也看到了一個(gè)亮點(diǎn),它就是PHP.2008-11-11PHP開發(fā)不能違背的安全規(guī)則 過濾用戶輸入
作為PHP程序員,特別是新手,對(duì)于互聯(lián)網(wǎng)的險(xiǎn)惡總是知道的太少,對(duì)于外部的入侵有很多時(shí)候是素手無策的,他們根本不知道黑客是如何入侵的、提交入侵、上傳漏洞、sql 注入、跨腳本攻擊等等。2011-05-05