くわこのpermission denied.

WEBエンジニアの僕がぶつかった技術的な問題や発見

PHPでAndroidのデフォルトブラウザ判定する方法

f:id:mask0702:20151209100945j:plain

もろもろ調べたけど、「androidを含んで、かつlinux; u; を含んでかつchromeを含まない」あたりが妥当っぽい。

せっかくなのでUserAgentUtilクラス作っていろんなところから参照できるようにしました。

<?php

class UserAgentUtil
{
    /**
     * Andoidのデフォルトブラウザの時のみtrueを返す。
     * @return boolean
     */
    static function isAndroidDefault()
    {
        $ua = mb_strtolower($_SERVER['HTTP_USER_AGENT']);
        $isAndroidDefault = false;

        // androidを含んで、かつlinux; u; を含んでかつchromeを含まない
        if (strpos($ua, 'android') !== false
            && strpos($ua, 'linux; u;') !== false
            && strpos($ua, 'chrome') === false) {

            $androidDefault = true;
        }

        return $isAndroidDefault;
    }
}

こんな感じで。