PHP代碼判斷設(shè)備是手機(jī)還是平板電腦(兩種方法)
現(xiàn)在移動(dòng)互聯(lián)網(wǎng)越來(lái)越發(fā)達(dá),很多的網(wǎng)站都普及了手機(jī)端瀏覽,為了更好的讓網(wǎng)頁(yè)在手機(jī)端顯示,我們都選擇了使用CSS媒體查詢(xún)制作響應(yīng)式模版,但這也有弊端,例如某些網(wǎng)站的結(jié)構(gòu)是CMS類(lèi)型的,太多的內(nèi)容要顯示,而使用CSS媒體查詢(xún)?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è)備類(lèi)型進(jìn)行判斷, 然后顯示相應(yīng)的界面和內(nèi)容。今天分享一種使用 PHP 判斷設(shè)備是否是手機(jī)/平板的方法,方法來(lái)源于WordPress(wp-includes/vars.php:125),適用于大部分類(lèi)型的手機(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è)備類(lèi)型自動(dòng)跳轉(zhuǎn)相應(yīng)頁(yè)面的方法
- PHP檢測(cè)移動(dòng)設(shè)備類(lèi)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-11
Yii2 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-06
PDO實(shí)現(xiàn)學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了PDO實(shí)現(xiàn)學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03

