ここでは、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); }