PHPでiPhoneとAndroidのOSバージョンを取得

WEBサイトにアクセスする利用者の情報をユーザーエージェントから調べることが出来ます。今回はユーザーエージェントからiPhoneAndroidの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バージョンが高いか低いかを判定するときに便利ですね。


先月読んだ本 2016.5

 

イーロン・マスク 未来を創る男

イーロン・マスク 未来を創る男

 

 マスクにとってはワークかライフか、などという分け方はありえない。すべてひっくるめて「ライフ」なのである。

 マスクは、世界屈指の経営者、イノベーターになるにはチャンスを自らの手で切り開いた。2025年までにテスラは5~6種類のモデルを取りそろえ、活況を呈する電気自動車市場で中心的な役割をはたしているだろう。

 ピーター・ティールが言うように、マスクは人々に希望を与え、人類への貢献という意味でテクノロジーへの信頼を取り戻すだろう。

 

先月読んだ本 2016.3

 

プログラミングバカ一代 就職しないで生きるには21

プログラミングバカ一代 就職しないで生きるには21

 

 

先月読んだ本 2016.1

 

ぼくは愛を証明しようと思う。

ぼくは愛を証明しようと思う。

 

 

 そもそも生きることは苦である。人生は思い通りにならなくて当たり前なんだ。ブッタの教えは、ここからスタートしています。

仏教を知ることは、己を知ること。そして、日本を知ることです。

 

先月読んだ本 2015.12

 

How Google Works (ハウ・グーグル・ワークス)  ―私たちの働き方とマネジメント

How Google Works (ハウ・グーグル・ワークス) ―私たちの働き方とマネジメント

 

 スマート・クリエイティブはプロダクトを誰よりもユーザー目線、あるいは消費者の視点から見ることができる。

 

一番偉い人の役割は、自分のアイデアが最も優れたものではないとわかったときには、他の人の邪魔をしないように身を引くことだ。

 

組織の構成単位は「小さなチーム」であるべきだ。

 

玄関前に配達された新聞を、毎朝自分で取ってくるCEO。机を拭いてまわる創業者。リーダーはこうした行動を通じて、平等主義の精神を身をもって示す。

 

できる人はたいてい誰かほかの人のために仕事している

 

最高の人材を何人か獲得できれば、その後まとまった数を確保できるのは間違いない。

 

とびきり優秀な社員の数を二倍にするのは、じつは簡単だ。ラリー・ペイジがよく言うように、全社員がひとりずつ、優秀な人を連れてくればいい。会社が採用を完全に他人任せにすると、社員の質は低下する。

 

 

王様達のヴァイキング(9) (ビッグコミックス)

王様達のヴァイキング(9) (ビッグコミックス)