IPアドレスから携帯のキャリアを高速に判定するsymfonyプラグインを作った

| | トラックバック(0)

携帯サイトを作ってるとIPアドレスから携帯キャリアを判別することが多いですが、これを高速に判定するsymfonyプラグインを作りました。

sfMobileIPPlugin - openpear

元ネタ: PHPで高速に携帯ゲートウェイのIPから携帯キャリアを判別する - グニャラくんのグニャグニャ備忘録@はてな

やってることは大体同じです。

隣り合うIPアドレス帯をまとめている

各キャリアが公開しているIPアドレス帯は隣あった領域である事が多いので、連続したIPアドレス帯は一つにまとめるようにしてます。
これにより、検索領域が 1/3 ぐらいに減りました。

まとめたIPアドレス帯はキャッシュしている

まとめたIPアドレス帯はソートした後、キャッシュファイルに書き込むようにしてます。
前処理は最初の1回だけです。

バイナリサーチ

前処理されたIPアドレス帯はソートしてあるので、バイナリサーチしてます。

インストール(symfony 1.0)

僕はsymfony 1.0を使ってるので、バイナリパッケージを用意しました。
次のコマンドでインストールできます。

$ symfony plugin-install http://svn.openpear.org/sfMobileIPPlugin/pkgs/sfMobileIPPlugin-0.0.1.tgz

インストール(symfony 1.1以降)

試してないのでわかりませんが、たぶんこんな感じ。

$ symfony plugin:add-channel openpear.org
$ symfony plugin:install openpear.org/sfMobileIPPlugin

使い方

sfMobileIP::carrier()を呼ぶとIPアドレスから判定して携帯キャリアの情報(docomo, ezweb, softbank, willcom, pc)を返してくれます。

echo sfMobileIP::carrier();

よかったら使ってくださいー。

トラックバック(0)

このブログ記事を参照しているブログ一覧: IPアドレスから携帯のキャリアを高速に判定するsymfonyプラグインを作った

このブログ記事に対するトラックバックURL: http://blog.bz2.jp/bz2mt/mt-tb.cgi/290

ウェブページ

Powered by Movable Type 4.21-ja

このブログ記事について

このページは、masatoが2009年4月21日 18:25に書いたブログ記事です。

ひとつ前のブログ記事は「@IT自分戦略研究所の今週のリーダーで取材してもらいました!」です。

次のブログ記事は「sfMobileIPPluginについてLTしてきた」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。