PHP代碼判斷設(shè)備是手機還是平板電腦(兩種方法)
現(xiàn)在移動互聯(lián)網(wǎng)越來越發(fā)達(dá),很多的網(wǎng)站都普及了手機端瀏覽,為了更好的讓網(wǎng)頁在手機端顯示,我們都選擇了使用CSS媒體查詢制作響應(yīng)式模版,但這也有弊端,例如某些網(wǎng)站的結(jié)構(gòu)是CMS類型的,太多的內(nèi)容要顯示,而使用CSS媒體查詢設(shè)計響應(yīng)式,只會隱藏但還是加載了,為了讓手機端更快速的顯示出內(nèi)容,我們可以使用這個PHP判斷手機設(shè)備代碼,使用這個代碼可以很方便的顯示或不顯示自定義的內(nèi)容。
在做WEB開發(fā)的時候經(jīng)常會需要用到對移動設(shè)備的頁面匹配,當(dāng)然可以直接把網(wǎng)站做成響應(yīng)式的,但如果不想這么做的話,可以使用PHP對設(shè)備類型進(jìn)行判斷, 然后顯示相應(yīng)的界面和內(nèi)容。今天分享一種使用 PHP 判斷設(shè)備是否是手機/平板的方法,方法來源于WordPress(wp-includes/vars.php:125),適用于大部分類型的手機/平板判 斷:
方法一:
/** * 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判斷手機設(shè)備函數(shù)代碼,復(fù)制到PHP函數(shù)庫中調(diào)用:
<?php function is_mobile() { $user_agent = $_SERVER['HTTP_USER_AGENT']; $mobile_browser = Array( "mqqbrowser", //手機QQ瀏覽器 "opera mobi", //手機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è)置手機端的內(nèi)容
<?php endif; ?>
以上所述就是本文的全部內(nèi)容,希望大家喜歡。
- PHP簡單判斷iPhone、iPad、Android及PC設(shè)備的方法
- PHP簡單判斷手機設(shè)備的方法
- PHP實現(xiàn)連接設(shè)備、通訊和發(fā)送命令的方法
- PHP實現(xiàn)根據(jù)設(shè)備類型自動跳轉(zhuǎn)相應(yīng)頁面的方法
- PHP檢測移動設(shè)備類mobile detection使用實例
- 通過JavaScript或PHP檢測Android設(shè)備的代碼
- 簡單的移動設(shè)備檢測PHP腳本代碼
- PHP獲取用戶訪問IP地址的5種方法
- php網(wǎng)站判斷用戶是否是手機訪問的方法
- php獲取訪問者IP地址匯總
- PHP獲取訪問設(shè)備信息的方法示例
相關(guān)文章
支付寶支付開發(fā)——當(dāng)面付條碼支付和掃碼支付實例
這篇文章主要介紹了支付寶支付開發(fā)——當(dāng)面付條碼支付和掃碼支付實例,具有一定的參考價值,有需要的可以了解一下。2016-11-11Yii2 ActiveRecord多表關(guān)聯(lián)及多表關(guān)聯(lián)搜索的實現(xiàn)
這篇文章主要介紹了Yii2 ActiveRecord多表關(guān)聯(lián)及多表關(guān)聯(lián)搜索的實現(xiàn)的相關(guān)資料,需要的朋友可以參考下2016-06-06