溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

PHP代碼判斷設(shè)備是手機(jī)還是平板電腦的兩種方法

發(fā)布時(shí)間:2021-09-06 18:00:04 來源:億速云 閱讀:197 作者:Yi 欄目:開發(fā)技術(shù)

今天就跟大家聊聊有關(guān)PHP代碼判斷設(shè)備是手機(jī)還是平板電腦的兩種方法,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

現(xiàn)在移動(dòng)互聯(lián)網(wǎng)越來越發(fā)達(dá),很多的網(wǎng)站都普及了手機(jī)端瀏覽,為了更好的讓網(wǎng)頁在手機(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開發(fā)的時(shí)候經(jīng)常會(huì)需要用到對(duì)移動(dòng)設(shè)備的頁面匹配,當(dāng)然可以直接把網(wǎng)站做成響應(yīng)式的,但如果不想這么做的話,可以使用PHP對(duì)設(shè)備類型進(jìn)行判斷, 然后顯示相應(yīng)的界面和內(nèi)容。今天分享一種使用 PHP 判斷設(shè)備是否是手機(jī)/平板的方法,方法來源于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ù)庫中調(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; ?>

看完上述內(nèi)容,你們對(duì)PHP代碼判斷設(shè)備是手機(jī)還是平板電腦的兩種方法有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI