PHP 實現(xiàn)判斷用戶是否手機(jī)訪問
隨著移動設(shè)備的普及,網(wǎng)站也會迎來越來越多移動設(shè)備的訪問。用適應(yīng)PC的頁面,很多時候?qū)κ謾C(jī)用戶不友好,那么有些時候,我們需要判斷用戶是否用手機(jī)訪問,如果是手機(jī)的話,就跳轉(zhuǎn)到指定的手機(jī)友好頁面。這里就介紹一下,如何判斷用戶是否用手機(jī)訪問。
自定義的函數(shù)如下:
再來一個從PHP框架剝離的判斷是否為手機(jī)移動終端的函數(shù):
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;
}
代碼很簡單,功能很實用,非常適合將其放入項目中,希望小伙伴們能夠喜歡。
相關(guān)文章
PHP遍歷某個目錄下的所有文件和子文件夾的實現(xiàn)代碼
本篇文章是對PHP遍歷某個目錄下的所有文件和子文件夾的實現(xiàn)代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
PHP中echo,print_r與var_dump區(qū)別分析
這篇文章主要介紹了PHP中echo,print_r與var_dump區(qū)別分析,主要講述了三者的類型本質(zhì)及其操作數(shù)據(jù)類型的用法區(qū)別,非常具有實用價值,需要的朋友可以參考下2014-09-09
windows服務(wù)器iis+php獲得錯誤信息的配置方法
最近技術(shù)在服務(wù)器上執(zhí)行代碼時總是顯示空白信息,因為本地測試正常的,但服務(wù)器上就有問題了,默認(rèn)都是不顯示php代碼的錯誤信息的,可以通過如下設(shè)置就可以了2025-02-02
淺析php靜態(tài)方法與非靜態(tài)方法的用法區(qū)別
下面小編就為大家?guī)硪黄獪\析php靜態(tài)方法與非靜態(tài)方法的用法區(qū)別。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05

