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

PHPを使用してデバイスがAndroidかiOSかを判断する方法

PHPz
リリース: 2023-04-03 19:16:01
オリジナル
1713 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート