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

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

関連記事

no image

PHPのコーディング規則、PSRを学ぶ(2)

PHPのコーディング規則、PSRを学ぶ(1)の続きです。 今回は基本中の基本、文字コードと改行コードを設定します。 自宅サーバーで試します。(自宅サーバーの作り方はこちら) そのための基本設定も行いま …

no image

PHP5.5から使える暗号化「password_hash」を「password_compact」を使って以前のバージョンで利用する

PHP最高の暗号化法としてPHP5.5から使える「password_hash」があります。 でもそれを、5.5未満のバージョンで使いたい! 特に私が使っている、さくらインターネットのサーバーはPHP …

[Meisyo]「覚醒」の仕様

[Meisyo] アップデート方針2020.10の通り、選手が覚醒できるようになりました。 ただし、覚醒するためのアイテム入手先など詳細を決めていなかったので、仕様としてまとめました。 覚醒概要 選手 …

[Meisyo]お試しトークルーム作成

Meisyoに、他監督にショートメッセージを送れる機能を付けようと思います。 メインは管理者への連絡手段の作成です。 個人間での交流もあればいいかなー程度の適当さで作っています。 必要機能: ・個人間 …

[Meisyo]練習難易度の不均衡是正への分析的アプローチ2

[Meisyo]練習難易度の不均衡是正への分析的アプローチから早3か月。 「練習ごとに難易度が違いすぎるんですけど!!」という不満は少しは解消されたかなー・・・ 効果測定してないのにわかるの?エスパー …