ユーザーエージェントを使って、各キャリアを判断したいと思ってます。
できれば、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() ){
}elseif($agent->isEZweb()){
}
FOMAかどうかやGPS(Docomoのみ)かどうかも判断できます。
どんな情報が判別できるかはぺんたん info:Net_UserAgent_Mobile 携帯判別PEARパッケージの使い方と注意点でわかりやすく表にまとめられています。
さて、問題はこの Net_UserAgent_Mobile をどうレンタルサーバで動かすかです。
それについては、(PHP)XServerにPEARインストールに書いてます。