検索
ホームページバックエンド開発PHPの問題PHPを使用してデバイスがAndroidかiOSかを判断する方法

Web 開発では、ユーザーが使用するオペレーティング システムに応じて Web ページをカスタマイズすることが不可欠です。 PHP は、スクリプトが実行されているオペレーティング システムとユーザーが使用しているブラウザを識別できます。この記事では、PHP でユーザーが使用しているオペレーティング システムを特定する方法と、Android と iOS を区別する方法を紹介します。

次の 2 つの方法が提供されます。

方法 1: HTTP_USER_AGENT 変数を使用します。

HTTP_USER_AGENT は、ブラウザによって Web サーバーに送信される要求ヘッダーであり、ユーザーエージェント文字列。通常、この文字列にはブラウザ名、ブラウザのバージョン、オペレーティング システム名、およびオペレーティング システムのバージョンが含まれます。 PHP では、次のコードを使用してこの変数の値を取得できます:

$user_agent = $_SERVER['HTTP_USER_AGENT'];

値を取得した後、通常は次のことを見つける必要があります。ユーザーエージェント文字 文字列に含まれる情報。ユーザーのオペレーティング システムを特定するための一般的なユーザー エージェント文字列は次のとおりです:

Windows
Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (Gecko のような KHTML) Chrome/ 58.0。 3029.96 Safari/537.36
macOS
Mozilla/5.0 (Macintosh; Intel Mac OS /5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML、Gecko など) Chrome/51.0.2704.81 モバイル Safari /537.36
iOS
Mozilla/5.0 (iPhone; CPU iPhone OS 9_1 (Mac OS と同様) およびそのバージョン、以下はサンプル コードです:

$user_agent = $_SERVER['HTTP_USER_AGENT'];

if (preg_match('/iphone|ipod|ipad/i', $user_agent) ) {

// iOS
if(preg_match('/OS\s(\d+)_(\d+)/i', $user_agent, $matches)) {
    $os_version = $matches[1] . '.' . $matches[2];
}
echo 'iOS ' . $os_version;

} else if (preg_match('/android/i', $user_agent)) {

// Android
if(preg_match('/Android\s(\d+(\.\d+)?)/i', $user_agent, $matches)) {
    $os_version = $matches[1];
}
echo 'Android ' . $os_version;

} else if (preg_match('/windows nt/i', $user_agent )) {

// Windows
if(preg_match('/Windows NT (\d+(\.\d+)?)/i', $user_agent, $matches)) {
    $os_version = $matches[1];
}
echo 'Windows ' . $os_version;

} else {

echo 'Unknown OS';

}

# #方法 2: PHP の get_browser 関数を使用する

#get_browser 関数は、ユーザーが使用しているブラウザとオペレーティング システム関連の情報を返すことができます。ただし、この機能は、PHP によってインストールされた browscap.ini ファイルと、指定されたユーザー エージェント情報に一致するデータに依存します。

以下はサンプル コードです:

$browser_info = get_browser(null, true);

$os = $browser_info['platform'];

if ( preg_match ('/iphone|ipod|ipad/i', $_SERVER['HTTP_USER_AGENT'])) {

echo 'iOS ' . $os;
} else if (preg_match('/android/i', $_SERVER['HTTP_USER_AGENT'] ) ) {

echo 'Android ' . $os;

} else {
echo 'Unknown OS';

}

PHP browscap.ini ファイルは別途ダウンロードする必要があり、そのダウンロード リンクは https であることに注意してください。 ://browscap .org/stream?q=Full_PHP_BrowsCapINI

結論

どちらの方法でも PHP 上のユーザーのオペレーティング システムを判断できます。必要な方法は好きな方法を選択することだけです。どの方法を選択しても、Web 開発におけるユーザーのオペレーティング システムのニーズを十分に満たすことができます。

以上がPHPを使用してデバイスがAndroidかiOSかを判断する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。