ここでは、PHP で Web サーバがリクエストしてきたクライアントのデバイスの種別 ( iPhone や Android など ) を判別するサンプルコードを掲載しています。
デバイスの種類を判定することで、「 iPhone からのリクエストは拒否する 」 といった処理が記述できるようになります。
スポンサーリンク
デバイスが Android か判断する
リクエストデバイスが Android であるかを判断するサンプルスクリプトになります。数年前ですが、EC-CUDE をカスタマイズしたことがあり、その中のコードを修正したものになります。今では条件が不足しているかもしれませんので、ご注意ください。
カスタマイズというよりも、ゴリゴリの新規開発に近かったです。最悪でした。すいません、ただの愚痴です。
public function isAndroid($userAgent = null)
{
if (is_null($userAgent)) {
$userAgent = @$_SERVER['HTTP_USER_AGENT'];
}
$useragents = array(
'Android', // 1.5+ Android
'dream', // Pre 1.5 Android
'CUPCAKE', // 1.5+ Android
);
$pattern = implode("|", $useragents);
return preg_match('/'.$pattern.'/', $userAgent);
}
デバイスが iPad / iPhone / iPod touch か判断する
同じくデバイスが iPhone などの iOS 系のデバイスか判断するサンプルスクリプトです。
public function isiOS($userAgent = null)
{
if (is_null()) {
$userAgent = @$_SERVER['HTTP_USER_AGENT'];
}
$useragents = array(
'iPad', // Apple iPad
'iPhone', // Apple iPhone
'iPod', // Apple iPod touch
);
$pattern = implode("|", $useragents);
return preg_match('/'.$pattern.'/', $userAgent);
}