3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援→開発戻り浦島太郎状態の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。

(PHP)携帯のキャリア振り分け方法

ユーザーエージェントを使って、各キャリアを判断したいと思ってます。

できれば、GPSのありなしや 3G かどうかなども知りたいと思ってます。(今回の要件が、位置情報取得用のリンクを張るというものなので。。)

手で書く方法もあるんですが、面倒なので Net_UserAgent_Mobile という PEAR ライブラリを使うことにしました。

まず、開発用PCに Net_UserAgent_Mobile をインストールします。(PEARのインストール方法は、Windows環境に OPEN PNE 2.14.1をインストールしてみたの"■PEAR のインストール"を参考)

コマンドプロンプトで下記のように pear install コマンド叩くだけ。

pear install Net_UserAgent_Mobile-1.0.0

downloading Net_UserAgent_Mobile-1.0.0.tgz ...

Starting to download Net_UserAgent_Mobile-1.0.0.tgz (43,849 bytes)

............done: 43,849 bytes

install ok: channel://pear.php.net/Net_UserAgent_Mobile-1.0.0

使い方はいたって簡単でした。

こんな感じです。

require_once('Net/UserAgent/Mobile.php');

$agent = Net_UserAgent_Mobile::singleton();

if($agent->isDoCoMo() && $agent->isFOMA() && $agent->isGPS() ){

echo "Docomo and FOMA and GPS";

}elseif($agent->isSoftbank() && $agent->isType3GC() ){

echo "SoftBank and 3G";

}elseif($agent->isEZweb()){

echo "au";

}

FOMAかどうかやGPS(Docomoのみ)かどうかも判断できます。

どんな情報が判別できるかはぺんたん info:Net_UserAgent_Mobile 携帯判別PEARパッケージの使い方と注意点でわかりやすく表にまとめられています。

さて、問題はこの Net_UserAgent_Mobile をどうレンタルサーバで動かすかです。

それについては、(PHP)XServerにPEARインストールに書いてます。