RのWeb制作

Webサービス制作のための技術情報を。データ分析(Python、機械学習コンペ他)や自作野球ゲームMeisyoのこと中心。

Web制作

PHPでPC・スマホ・タブレット・携帯を判別するおすすめの方法

投稿日:2013年12月14日 更新日:

Smartphone
今まさにスマートフォン時代になってきています。
PHPでPCやスマートフォン、タブレット、携帯を判別してみましょう。
※この内容は2013年当時の方法です。

普通の判別法

$_SERVER['HTTP_USER_AGENT']

ユーザーエージェントで対応される方も多いかもしれません。

$UA = $_SERVER['HTTP_USER_AGENT'];
if (ereg("iPhone|iPod|Android.*Mobile|Windows.*Phone", $UA)) {
    // スマートフォン
}else{
}

これだと追加や削除が必要なので面倒です。

良い判別法

php-mobile-detectのライブラリ(MITライセンス)を使いましょう。
更新は最新版をダウンロード→インストールするだけ!

携帯・スマホ判定

function isMobile(){
    require_once('Mobile_Detect.php');
    $detect = new Mobile_Detect;
    $_SESSION['isMobile'] = $detect->isMobile() ? true : false;
    return $_SESSION['isMobile'];
}

PSR+オートローダーを使用する場合の判定法
「MobileDetect.php」にファイル名を変更します。
そして「MobileDetect.php」の2行目にnamespaceを設定します。

呼び出しする関数は以下のように設定します。

    private function isMobile()
    {
        $delect = new MobileDetect;
        $_SESSION['isMobile'] = $delect->isMobile() ? true : false;
        return $_SESSION['isMobile'];
    }

判別法

if($_SESSION['isMobile'] || isMobile()){
    // 携帯・スマホ
} else {
    // それ以外
}

簡単ですね!

-Web制作

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

手書き数字診断士(機械学習)ver 0.1 K近傍法を使ってみた

手書き文字の判定精度が全然上がらないので、他の手法を試してみました。 sklearnの開発元によると、以下の方法が良いらしい・・・。 なるほど!SVCで上手くいかない → K近傍法だな! 早速実装 p …

[Meisyo]大型アップデート予定のお知らせ

名将と呼ばれた者達よりお知らせです。 下記アップデートを予定しています。 1・サーバーの移転(高速化) 今まで練習試合等で非常に時間がかかっていた問題が解消されます。 2・チーム名等の仕様変更 チーム …

手書き数字診断士(機械学習)ver 0.0

手書き数字診断士、まずは動くようにしました。 ただ、初っ端から間違えています・・・! 動画 http://webmaking.rei-farms.jp/wp-content/uploads/2018/ …

独学はまず本より始めよ

Web制作やCakePHP(特にクラス関係)を始め新しいモノを独学している時に気づきました。 まず本より始めよ、と。 なぜでしょうか? 「Webだけで十分じゃーん」という方も居ると思います。 Webは …

no image

JavaScriptで特定地域にターゲット広告を表示

ある特定の都道府県だけ表示したい広告を作ったので、そのコードを公開します! 1.Google AJAX APIを読み込み <script type="text/javascript&q …