目錄
php 中使用mobiledetect 類別來偵測行動裝置" >在php 中使用mobiledetect 類別來偵測行動裝置
#在PHP 中使用HTTP_USER_AGENTpreg_match() 函數偵測行動裝置
首頁 後端開發 php教程 用 PHP 偵測行動裝置

用 PHP 偵測行動裝置

Feb 28, 2024 pm 12:01 PM
iphone php程式設計 後端開發 行動端適配

php小編魚仔今天為大家介紹如何使用PHP來偵測行動裝置。隨著行動裝置的普及,網站的響應式設計變得特別重要。透過PHP偵測使用者存取網站的裝置類型,我們可以為不同裝置提供客製化的內容和佈局,提升使用者體驗。本文將介紹如何利用PHP偵測使用者的裝置類型,為您的網站提供更好的行動裝置適配。


我們可以使用名為Mobile Detect 的輕量級PHP 類別來偵測PHP 中的行動裝置。它還可以檢測平板設備。本庫使用某些 Http 標頭和用戶代理字串來偵測行動裝置。我們可以使用 Composer 使用以下命令下載庫。

<code><code class="bash hljs" data-lang="bash"><span style="display:flex;"><span>composer require mobiledetect/mobiledetectlib
</span></span></code></code>
登入後複製

該函式庫提供了各種方法,如isMobile()isTablet()is<strong class="keylink">iOS</strong>() 來偵測各種移動環境。我們可以建立 Mobile_Detect() 類別的物件並使用這些方法。

例如,使用上面的 composer 指令下載專案目錄中的函式庫。接下來,使用 require_once 函數需要檔案 autoload.php。該檔案位於 vendor 目錄中。接下來,建立 Mobile_Detect() 類別的物件 $detect。然後,在 if 條件下使用函數 isMobile()。在 if 區塊中,顯示訊息偵測到行動裝置,並在 else 區塊中顯示訊息未偵測到行動裝置

下面的範例將偵測網頁是否是從行動裝置存取的。下面的輸出部分顯示了從 PC 開啟網頁時的情況。我們可以透過在網頁上按一下滑鼠右鍵找到響應式設計模式來檢查元素。在那裡,我們可以選擇不同的行動裝置並刷新腳本。當我們選擇行動裝置時,輸出將變更為偵測到行動裝置。這樣,我們就可以使用 Mobile Detect 類別來偵測 PHP 中的行動裝置。

範例程式碼:

<code><code class="php hljs" data-lang="php"><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">require_once</span> <span style="color:#ba2121">"vendor/autoload.php"</span>;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#19177c">$detect</span> <span style="color:#666">=</span> <span style="color:#008000;font-weight:bold">new</span> Mobile_Detect;
</span></span><span style="display:flex;"><span>
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span> ( <span style="color:#19177c">$detect</span><span style="color:#666">-></span><span style="color:#7d9029">isMobile</span>() ) {
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span> <span style="color:#ba2121">"Mobile device detected"</span>;
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">else</span> {
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span> <span style="color:#ba2121">"Mobile device not detected"</span>;
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span><span style="color:#bc7a00">?></span><span >
</span></span></span></code></code>
登入後複製

輸出:

<code><code class="text hljs" data-lang="text"><span style="display:flex;"><span>Mobile device not detected
</span></span></code></code>
登入後複製

#在PHP 中使用HTTP_USER_AGENTpreg_match() 函數偵測行動裝置

我們可以使用字串HTTP_USER_AGENT 來取得有關使用者瀏覽器造訪網站的資訊。我們將使用 $_SERVER 超全域變數和字串作為陣列元素。超全域變數包含有關網路伺服器的資訊。我們將創建在行動裝置中找到的用戶代理字串的自訂集合。然後,我們可以使用 preg_match() 函數檢查這些是否與目前使用者正在瀏覽的瀏覽器相符。隨著支援的新行動裝置的發布,可以手動新增用戶代理字串的集合。可在此處找到更新的用戶代理字串集合清單。

例如,建立一個變數 $user_agent 並在其中儲存 $_SERVER["HTTP_USER_AGENT"]。然後使用 preg_match() 函數來匹配使用者代理字串。使用字串集合作為第一個參數。使用 $user_agent 變數作為第二個參數。最後,使用 if-else 條件相應地顯示訊息。

在這裡,我們從 iPhone 開啟了網頁。因此用戶代理字串匹配集合。這樣,我們就可以在 PHP 中偵測到行動裝置了。

範例程式碼:

<code><code class="php hljs" data-lang="php"><span style="display:flex;"><span><span style="color:#19177c">$user_agent</span> <span style="color:#666">=</span> <span style="color:#19177c">$_SERVER</span>[<span style="color:#ba2121">"HTTP_USER_AGENT"</span>];
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">if</span>(preg_match(<span style="color:#ba2121">"/(<strong class="keylink">Android</strong>|<strong class="keylink">WEB</strong>os|avant<strong class="keylink">Go</strong>|iphone|ipod|ipad|bolt|boost|cricket|docomo|fone|hiptop|opera mini|mini|kitkat|mobi|palm|phone|pie|tablet|up\.browser|up\.link|webos|wos)/i"</span>,<span style="color:#19177c">$user_agent</span> ))
</span></span><span style="display:flex;"><span>{
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span> <span style="color:#ba2121">"mobile device detected"</span>;
</span></span><span style="display:flex;"><span>}
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">else</span>{
</span></span><span style="display:flex;"><span><span style="color:#008000;font-weight:bold">echo</span> <span style="color:#ba2121">"mobile device not detected"</span>;
</span></span><span style="display:flex;"><span>}
</span></span></code></code>
登入後複製

輸出:

<code><code class="text hljs" data-lang="text"><span style="display:flex;"><span>Mobile device detected
</span></span></code></code>
登入後複製

以上是用 PHP 偵測行動裝置的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
1 個月前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

iPhone 16 Pro 和 iPhone 16 Pro Max 正式發布,配備新相機、A18 Pro SoC 和更大的螢幕 iPhone 16 Pro 和 iPhone 16 Pro Max 正式發布,配備新相機、A18 Pro SoC 和更大的螢幕 Sep 10, 2024 am 06:50 AM

蘋果終於揭開了其新款高階 iPhone 機型的面紗。與上一代產品相比,iPhone 16 Pro 和 iPhone 16 Pro Max 現在配備了更大的螢幕(Pro 為 6.3 英寸,Pro Max 為 6.9 英寸)。他們獲得了增強版 Apple A1

iOS 18 RC 中發現 iPhone 零件啟動鎖——可能是蘋果對以用戶保護為幌子銷售維修權的最新打擊 iOS 18 RC 中發現 iPhone 零件啟動鎖——可能是蘋果對以用戶保護為幌子銷售維修權的最新打擊 Sep 14, 2024 am 06:29 AM

今年早些時候,蘋果宣布將把啟動鎖定功能擴展到 iPhone 組件。這有效地將各個 iPhone 組件(例如電池、顯示器、FaceID 組件和相機硬體)連結到 iCloud 帳戶,

iPhone零件啟動鎖可能是蘋果對以用戶保護為幌子銷售維修權的最新打擊 iPhone零件啟動鎖可能是蘋果對以用戶保護為幌子銷售維修權的最新打擊 Sep 13, 2024 pm 06:17 PM

今年早些時候,蘋果宣布將把啟動鎖定功能擴展到 iPhone 組件。這有效地將各個 iPhone 組件(例如電池、顯示器、FaceID 組件和相機硬體)連結到 iCloud 帳戶,

Gate.io交易平台官方App下載安裝地址 Gate.io交易平台官方App下載安裝地址 Feb 13, 2025 pm 07:33 PM

本文詳細介紹了在 Gate.io 官網註冊並下載最新 App 的步驟。首先介紹了註冊流程,包括填寫註冊信息、驗證郵箱/手機號碼,以及完成註冊。其次講解了下載 iOS 設備和 Android 設備上 Gate.io App 的方法。最後強調了安全提示,如驗證官網真實性、啟用兩步驗證以及警惕釣魚風險,以確保用戶賬戶和資產安全。

多名 iPhone 16 Pro 使用者報告觸控螢幕凍結問題,可能與防手掌誤觸敏感度有關 多名 iPhone 16 Pro 使用者報告觸控螢幕凍結問題,可能與防手掌誤觸敏感度有關 Sep 23, 2024 pm 06:18 PM

如果您已經拿到了 Apple iPhone 16 系列的裝置(更具體地說是 16 Pro/Pro Max),那麼您最近很可能遇到某種觸控螢幕問題。一線希望是你並不孤單——報告

安幣app官方下載v2.96.2最新版安裝  安幣官方安卓版 安幣app官方下載v2.96.2最新版安裝 安幣官方安卓版 Mar 04, 2025 pm 01:06 PM

幣安App官方安裝步驟:安卓需訪官網找下載鏈接,選安卓版下載安裝;iOS在App Store搜“Binance”下載。均要從官方渠道,留意協議。

在使用PHP調用支付寶EasySDK時,如何解決'Undefined array key 'sign'”報錯問題? 在使用PHP調用支付寶EasySDK時,如何解決'Undefined array key 'sign'”報錯問題? Mar 31, 2025 pm 11:51 PM

問題介紹在使用PHP調用支付寶EasySDK時,按照官方提供的代碼填入參數後,運行過程中遇到報錯信息“Undefined...

Beats 為其產品陣容增添手機殼:推出適用於 iPhone 16 系列的 MagSafe 手機殼 Beats 為其產品陣容增添手機殼:推出適用於 iPhone 16 系列的 MagSafe 手機殼 Sep 11, 2024 pm 03:33 PM

Beats 以推出藍牙揚聲器和耳機等音訊產品而聞名,但令人驚訝的是,這家蘋果旗下公司從 iPhone 16 系列開始涉足手機殼製造領域。節拍 iPhone

See all articles