PHP中通過HTTP_USER_AGENT判斷是否為手機移動終端的函數(shù)代碼
更新時間:2013年02月14日 22:56:13 作者:
經(jīng)常我們需要做一些判斷是否是手機訪問的時候,然后進行自動跳轉(zhuǎn)操作,這是從一個PHP框架分離出來的一段判斷是否為手機移動終端的函數(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判斷是手機端還是PC端 PHP判斷是否是微信瀏覽器
- thinkphp判斷訪客為手機端或PC端的方法
- 在WordPress中使用PHP腳本來判斷訪客來自什么國家
- php 判斷訪客是否為搜索引擎蜘蛛的函數(shù)代碼
- 利用PHP判斷是手機移動端還是PC端訪問的函數(shù)示例
- php函數(shù)實現(xiàn)判斷是否移動端訪問
- php/asp/asp.net中判斷百度移動和PC蜘蛛的實現(xiàn)代碼
- PHP判斷是否是微信打開還是瀏覽器打開的方法
- 通過JS和PHP兩種方法判斷用戶請求時使用的瀏覽器類型
- 使用PHP和JavaScript判斷請求是否來自微信內(nèi)瀏覽器
- PHP判斷訪客是否手機端(移動端瀏覽器)訪問的方法總結(jié)【4種方法】
相關(guān)文章
淺析PHP安裝擴展mcrypt以及相關(guān)依賴項(PHP安裝PECL擴展的方法)
本篇文章是對PHP安裝擴展mcrypt以及相關(guān)依賴項(PHP安裝PECL擴展的方法)進行了詳細的分析介紹,需要的朋友參考下2013-07-07PHP和Java 集成開發(fā)詳解分析 強強聯(lián)合
很久以前,有人從www上看到看到天空上一個很亮的亮點,它就是Java語言,與此同時,在另一個地方一位夢想家也看到了一個亮點,它就是PHP.2008-11-11PHP開發(fā)不能違背的安全規(guī)則 過濾用戶輸入
作為PHP程序員,特別是新手,對于互聯(lián)網(wǎng)的險惡總是知道的太少,對于外部的入侵有很多時候是素手無策的,他們根本不知道黑客是如何入侵的、提交入侵、上傳漏洞、sql 注入、跨腳本攻擊等等。2011-05-05