PHPでiPhoneとAndroidのOSバージョンを取得
WEBサイトにアクセスする利用者の情報をユーザーエージェントから調べることが出来ます。今回はユーザーエージェントからiPhoneとAndroidのOSのバージョンを取得します。
<?php print_r(osVersion()); /** * ユーザーエージェント取得 * */ function ua() { return isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : ''; } /** * Android端末判定 * */ function is_android () { $useragents = array( 'Android' // Android ); $pattern = '/'.implode('|', $useragents).'/i'; if (!preg_match($pattern, $_SERVER['HTTP_USER_AGENT'])) { return false; } return true; } /** * iPhone端末判定 * */ function is_iphone () { $useragents = array( 'iPhone' // iPhone ); $pattern = '/'.implode('|', $useragents).'/i'; if (!preg_match($pattern, $_SERVER['HTTP_USER_AGENT'])) { return false; } return true; } /** * OSバージョン取得 * */ function osVersion() { $version = null; //Android端末 if (is_android()) { if (preg_match('/Android ([0-9\.]+)/', ua(), $matches)) { $version = $matches; } } //iPhone端末 if (is_iphone()) { if (preg_match('/iPhone OS ([0-9_]+)/', ua(), $matches)) { $matches[1] = str_replace('_', ',', $matches[1]); $version = $matches; } } return $version; } ?> ●実行結果 ・iPhoneの場合 Array ( [0] => iPhone OS 9_1 [1] => 9.1 ) ・Androidの場合 Array ( [0] => Android 5.1.1 [1] => 5.1.1 )
OSバージョンが高いか低いかを判定するときに便利ですね。