[ PHP ] ユーザーエージェントでデバイス ( iPhone Android ) を判別する

Pocket

ここでは、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);
}
スポンサーリンク


Pocket

Leave a Comment

Your email address will not be published. Required fields are marked *