PHP 實現(xiàn)判斷用戶是否手機訪問
隨著移動設(shè)備的普及,網(wǎng)站也會迎來越來越多移動設(shè)備的訪問。用適應(yīng)PC的頁面,很多時候?qū)κ謾C用戶不友好,那么有些時候,我們需要判斷用戶是否用手機訪問,如果是手機的話,就跳轉(zhuǎn)到指定的手機友好頁面。這里就介紹一下,如何判斷用戶是否用手機訪問。
自定義的函數(shù)如下:
再來一個從PHP框架剝離的判斷是否為手機移動終端的函數(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獲取從百度搜索進入網(wǎng)站的關(guān)鍵詞的詳細代碼
以下是關(guān)于php該如何獲取從百度搜索進入網(wǎng)站的關(guān)鍵詞的詳細代碼,希望本文對廣大php開發(fā)者有所幫助2014-01-01PHP+jquery+ajax實現(xiàn)即時聊天功能實例
這篇文章主要介紹了PHP+jquery+ajax實現(xiàn)即時聊天功能的方法,實例分析了php聊天功能的信息無刷新提交方法,以及信息發(fā)送處理等功能,具有一定的參考借鑒價值,需要的朋友可以參考下2014-12-12PHP實現(xiàn)多圖上傳(結(jié)合uploadify插件)思路分析
這篇文章主要介紹了PHP實現(xiàn)多圖上傳的方法,實例分析了php結(jié)合uploadify插件實現(xiàn)多圖上傳的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下2016-11-11PHP實現(xiàn)針對日期,月數(shù),天數(shù),周數(shù),小時,分,秒等的加減運算示例【基于strtotime】
這篇文章主要介紹了PHP實現(xiàn)針對日期,月數(shù),天數(shù),周數(shù),小時,分,秒等的加減運算,結(jié)合實例形式分析了基于strtotime的簡單日期時間運算技巧,非常具有實用價值,需要的朋友可以參考下2017-04-04PHP使用PDO操作sqlite數(shù)據(jù)庫應(yīng)用案例
這篇文章主要介紹了PHP使用PDO操作sqlite數(shù)據(jù)庫,結(jié)合實例形式分析了php基于yaf框架使用pdo操作sqlite數(shù)據(jù)的相關(guān)原理、步驟與操作技巧,需要的朋友可以參考下2019-03-03PHP內(nèi)部實現(xiàn)打亂字符串順序函數(shù)str_shuffle的方法
這篇文章主要給大家介紹了關(guān)于PHP內(nèi)部實現(xiàn)打亂字符串順序函數(shù)str_shuffle的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02php讀取mysql中文數(shù)據(jù)出現(xiàn)亂碼的解決方法
以下是對php讀取mysql中文數(shù)據(jù)出現(xiàn)亂碼問題的解決方法進行了介紹,需要的朋友可以過來參考下2013-08-08PHP的Laravel框架中使用AdminLTE模板來編寫網(wǎng)站后臺界面
這篇文章主要介紹了PHP的Laravel框架中使用AdminLTE模板來編寫網(wǎng)站后臺的方法,AdminLTE基于BootStrap,能幫助快速創(chuàng)建網(wǎng)站后臺管理面板界面,需要的朋友可以參考下2016-03-03