Tips 1 | ケータイのアクセスを振り分けしたい | PHP |
>> | point 端末情報などを気にせず使える | ||
>> | point ケータイ開発で便利に使えるライブラリ |
携帯電話向けのWebサイトの開発では、キャリアに応じてページを振り分けたりする処理が一般的だ。PHPで「ユーザーエージェント」を検査すれば、振り分けることができるが、そのようなプログラムを記述するのは手間がかかる。
そこで、便利なPHPライブラリがあるので紹介しよう。「Net_UserAgent_Mobile」(pear.php.net/package/Net_UserAgent_Mobile/)は、「PEAR」というPHPのライブラリ群のひとつだ。
「PEAR」は通常、コマンドラインなどからインストールするのが一般的だが、FTPアクセスしかできない場合でも利用することはできる。ここでは、その方法で利用してみよう。
まずは、先のWebサイトの「Download」からファイルをダウンロードする【1】。また、PEARのライブラリ自身も必要なのでダウンロードしよう(pear.php.net/package/PEAR/)。
次に、「Net_UserAgent_Mobile」のライブラリからは「Mobile.php」と「Mobile」フォルダをコピーする。PEARライブラリ本体には多くのファイルが含まれているが、必要なのは「PEAR.php」だけだ。これらを、「/pear」などのフォルダにコピーしよう【2】。これでPEARの準備は完了だ。
PHPのファイルを準備して【3】のように記述する。こうするとPEARのライブラリを参照するときにフォルダ名を省略することができるようになる。あとは、ライブラリを参照してプログラムを記述すれば完成だ【4】。アクセスしたキャリアに応じて、ファイルを振り分けることができるようになる。
スクリプト内の「isDoCoMo」や「isEZweb」によって、今アクセスしているキャリアが何かを判断して、trueかfalseの値を取得することができる。
また、さらに細かく判定することも可能だ。【5】のように記述すれば、docomoでも「FOMA」か「mova」を判定することもできる。ほかのキャリアでも細かい判定ができるようになっているので、ドキュメントを参照しよう。「Net_UserAgent_Mobile」にはこのほかにも、携帯電話に関する便利な機能がたくさんある。ぜひ使ってみよう。
また、さらに細かく判定することも可能だ。【5】のように記述すれば、docomoでも「FOMA」か「mova」を判定することもできる。ほかのキャリアでも細かい判定ができるようになっているので、ドキュメントを参照しよう。「Net_UserAgent_Mobile」にはこのほかにも、携帯電話に関する便利な機能がたくさんある。ぜひ使ってみよう。