ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用してモバイル デバイスを検出する

PHP を使用してモバイル デバイスを検出する

WBOY
WBOY転載
2024-02-28 12:01:01466ブラウズ

php Xiaobian Yuzai は今日、PHP を使用してモバイル デバイスを検出する方法を紹介します。モバイルデバイスの普及に伴い、Web サイトのレスポンシブデザインが特に重要になってきています。 PHP を介してユーザーが Web サイトにアクセスするために使用するデバイスの種類を検出することで、さまざまなデバイスにカスタマイズされたコンテンツとレイアウトを提供し、ユーザー エクスペリエンスを向上させることができます。この記事では、PHP を使用してユーザーのデバイスの種類を検出し、Web サイトをより適切にモバイルに適応させる方法を紹介します。


php

mobiledetect

クラスを使用してモバイル デバイスを検出するには、Mobile Detect## という名前のクラスを使用できます。 # PHP でモバイル デバイスを検出するための軽量 PHP クラス。タブレット端末も検出できます。このライブラリは、特定の Http ヘッダーとユーザー エージェント 文字列 を使用してモバイル デバイスを検出します。次のコマンドを使用して、Composer を使用してライブラリをダウンロードできます。

<code><code class="language-bash hljs" data-lang="bash"><span style="display:flex;"><span>composer require mobiledetect/mobiledetectlib
</span></span></code></code>
このライブラリは、

isMobile()isTablet()isiOS<strong class="keylink">()# などのさまざまなメソッドを提供します。 # さまざまなモバイル環境を検出します。クラス </strong>Mobile_Detect() のオブジェクトを作成し、これらのメソッドを使用できます。 たとえば、上記のcomposerコマンドを使用して、ライブラリを

project

ディレクトリにダウンロードします。次に、require_once 関数を使用して、ファイル autoload.php が必要になります。このファイルは vendor ディレクトリにあります。次に、クラス Mobile_Detect() $detect のオブジェクトを作成します。次に、関数 isMobile()if 条件で使用します。 if ブロックに「モバイル デバイス が検出されました」というメッセージが表示され、else ブロックに「モバイル デバイスが検出されませんでした」というメッセージが表示されます。 次の例では、Web ページがモバイル デバイスからアクセスされているかどうかを検出します。以下の出力セクションは、PC から Web ページを開いたときに何が起こるかを示しています。 Web ページを右クリックして、レスポンシブ デザイン モード

を見つけて要素を検査できます。そこで、別のモバイル デバイスを選択してスクリプトを更新できます。モバイル デバイスを選択すると、出力が

モバイル デバイスが検出されました に変わります。このようにして、Mobile Detect クラスを使用して、PHP でモバイル デバイスを検出できます。 サンプル コード:

<code><code class="language-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="language-text hljs" data-lang="text"><span style="display:flex;"><span>Mobile device not detected
</span></span></code></code>

PHP での

HTTP_USER_AGENT
関数と

preg_match() 関数の使用モバイル デバイスの検出文字列 HTTP_USER_AGENT

を使用して、ユーザーのブラウザがアクセスした Web サイトに関する情報を取得できます。

$_SERVER スーパーグローバル変数と文字列を array 要素として使用します。スーパーグローバル変数には、NetworkServer に関する情報が含まれています。モバイル デバイス上にあるユーザー エージェント文字列のカスタム コレクション を作成します。次に、preg_match() 関数を使用して、これらが現在のユーザーが閲覧しているブラウザと一致するかどうかを確認できます。新しいサポート対象モバイル デバイスがリリースされると、ユーザー エージェント文字列のコレクションを手動で追加できます。ユーザー エージェント文字列コレクションの更新されたリストは、ここにあります。 たとえば、変数 $user_agent

を作成し、その中に

$_SERVER["HTTP_USER_AGENT"] を格納します。次に、preg_match() 関数を使用して、ユーザー エージェント文字列と一致させます。最初の引数として文字列のコレクションを使用します。 $user_agent 変数を 2 番目のパラメーターとして使用します。最後に、if-else 条件を使用して、それに応じてメッセージを表示します。 ここでは、iPhone から Web ページを開きました。したがって、ユーザー エージェント文字列はセットと一致します。このようにして、PHP でモバイル デバイスを検出できます。

サンプルコード:

<code><code class="language-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="language-text hljs" data-lang="text"><span style="display:flex;"><span>Mobile device detected
</span></span></code></code>

以上がPHP を使用してモバイル デバイスを検出するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlsjlt.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。