ホームページ >バックエンド開発 >PHPチュートリアル >PHP を使用してモバイル デバイスを検出する
php Xiaobian Yuzai は今日、PHP を使用してモバイル デバイスを検出する方法を紹介します。モバイルデバイスの普及に伴い、Web サイトのレスポンシブデザインが特に重要になってきています。 PHP を介してユーザーが Web サイトにアクセスするために使用するデバイスの種類を検出することで、さまざまなデバイスにカスタマイズされたコンテンツとレイアウトを提供し、ユーザー エクスペリエンスを向上させることができます。この記事では、PHP を使用してユーザーのデバイスの種類を検出し、Web サイトをより適切にモバイルに適応させる方法を紹介します。
の クラスを使用してモバイル デバイスを検出するには、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コマンドを使用して、ライブラリを
ディレクトリにダウンロードします。次に、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 関数の使用モバイル デバイスの検出
文字列
HTTP_USER_AGENT$_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 サイトの他の関連記事を参照してください。