PHP代碼判斷設(shè)備是手機(jī)還是平板電腦(兩種方法)
現(xiàn)在移動(dòng)互聯(lián)網(wǎng)越來(lái)越發(fā)達(dá),很多的網(wǎng)站都普及了手機(jī)端瀏覽,為了更好的讓網(wǎng)頁(yè)在手機(jī)端顯示,我們都選擇了使用CSS媒體查詢制作響應(yīng)式模版,但這也有弊端,例如某些網(wǎng)站的結(jié)構(gòu)是CMS類型的,太多的內(nèi)容要顯示,而使用CSS媒體查詢?cè)O(shè)計(jì)響應(yīng)式,只會(huì)隱藏但還是加載了,為了讓手機(jī)端更快速的顯示出內(nèi)容,我們可以使用這個(gè)PHP判斷手機(jī)設(shè)備代碼,使用這個(gè)代碼可以很方便的顯示或不顯示自定義的內(nèi)容。
在做WEB開(kāi)發(fā)的時(shí)候經(jīng)常會(huì)需要用到對(duì)移動(dòng)設(shè)備的頁(yè)面匹配,當(dāng)然可以直接把網(wǎng)站做成響應(yīng)式的,但如果不想這么做的話,可以使用PHP對(duì)設(shè)備類型進(jìn)行判斷, 然后顯示相應(yīng)的界面和內(nèi)容。今天分享一種使用 PHP 判斷設(shè)備是否是手機(jī)/平板的方法,方法來(lái)源于WordPress(wp-includes/vars.php:125),適用于大部分類型的手機(jī)/平板判 斷:
方法一:
/** * Test if the current browser runs on a mobile device (smart phone, tablet, etc.) * * @staticvar bool $is_mobile * * @return bool */ function wp_is_mobile() { static $is_mobile = null; if ( isset( $is_mobile ) ) { return $is_mobile; } if ( empty($_SERVER['HTTP_USER_AGENT']) ) { $is_mobile = false; } elseif ( strpos($_SERVER['HTTP_USER_AGENT'], 'Mobile') !== false // many mobile devices (all iPhone, iPad, etc.) || strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Silk/') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Kindle') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'BlackBerry') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') !== false || strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mobi') !== false ) { $is_mobile = true; } else { $is_mobile = false; } return $is_mobile; }
代碼二:
這是PHP判斷手機(jī)設(shè)備函數(shù)代碼,復(fù)制到PHP函數(shù)庫(kù)中調(diào)用:
<?php function is_mobile() { $user_agent = $_SERVER['HTTP_USER_AGENT']; $mobile_browser = Array( "mqqbrowser", //手機(jī)QQ瀏覽器 "opera mobi", //手機(jī)opera "juc","iuc",//uc瀏覽器 "fennec","ios","applewebKit/420","applewebkit/525","applewebkit/532","ipad","iphone","ipaq","ipod", "iemobile", "windows ce",//windows phone "240×320","480×640","acer","android","anywhereyougo.com","asus","audio","blackberry","blazer","coolpad" ,"dopod", "etouch", "hitachi","htc","huawei", "jbrowser", "lenovo","lg","lg-","lge-","lge", "mobi","moto","nokia","phone","samsung","sony","symbian","tablet","tianyu","wap","xda","xde","zte" ); $is_mobile = false; foreach ($mobile_browser as $device) { if (stristr($user_agent, $device)) { $is_mobile = true; break; } } return $is_mobile; }?>
這是調(diào)用代碼,可以加上if判斷:
<?php if(is_mobile()):?>
設(shè)置手機(jī)端的內(nèi)容
<?php endif; ?>
以上所述就是本文的全部?jī)?nèi)容,希望大家喜歡。
- PHP簡(jiǎn)單判斷iPhone、iPad、Android及PC設(shè)備的方法
- PHP簡(jiǎn)單判斷手機(jī)設(shè)備的方法
- PHP實(shí)現(xiàn)連接設(shè)備、通訊和發(fā)送命令的方法
- PHP實(shí)現(xiàn)根據(jù)設(shè)備類型自動(dòng)跳轉(zhuǎn)相應(yīng)頁(yè)面的方法
- PHP檢測(cè)移動(dòng)設(shè)備類mobile detection使用實(shí)例
- 通過(guò)JavaScript或PHP檢測(cè)Android設(shè)備的代碼
- 簡(jiǎn)單的移動(dòng)設(shè)備檢測(cè)PHP腳本代碼
- PHP獲取用戶訪問(wèn)IP地址的5種方法
- php網(wǎng)站判斷用戶是否是手機(jī)訪問(wèn)的方法
- php獲取訪問(wèn)者IP地址匯總
- PHP獲取訪問(wèn)設(shè)備信息的方法示例
相關(guān)文章
支付寶支付開(kāi)發(fā)——當(dāng)面付條碼支付和掃碼支付實(shí)例
這篇文章主要介紹了支付寶支付開(kāi)發(fā)——當(dāng)面付條碼支付和掃碼支付實(shí)例,具有一定的參考價(jià)值,有需要的可以了解一下。2016-11-11Yii2 ActiveRecord多表關(guān)聯(lián)及多表關(guān)聯(lián)搜索的實(shí)現(xiàn)
這篇文章主要介紹了Yii2 ActiveRecord多表關(guān)聯(lián)及多表關(guān)聯(lián)搜索的實(shí)現(xiàn)的相關(guān)資料,需要的朋友可以參考下2016-06-06PDO實(shí)現(xiàn)學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了PDO實(shí)現(xiàn)學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03