ようこそ!浜村拓夫の世界へ

    ブログ内検索

    最近の記事

    ブックマーク数の多い記事

    Blog Translation

    Powered By FC2ブログ

    Powered By FC2ブログ
    ブログやるならFC2ブログ


    FC2ブログ LOGIN

    with Ajax Amazon

    PHPでIPv4アドレスから国名を取得する方法

    このエントリーを含むはてなブックマーク はてなブックマーク - PHPでIPv4アドレスから国名を取得する方法 あとで読む
    Q: WebサイトのアクセスログでIPアドレスを記録して、IPアドレスからアクセス元の国名を取得するには、どうしたら良いだろうか?

    A: PHPのGeoIP関数を使えば簡単に取得できる!

    PHP: geoip_country_name_by_name - Manual

    (PECL geoip >= 0.2.0)
    geoip_country_name_by_name — 完全な国名を取得する



    PHP逆引きレシピ 第2版 (PROGRAMMER’S RECiPE)
    鈴木 憲治 / 山田 直明 / 山本 義之 / 浅野 仁 / 櫻井 雄大 / 安藤 建一
    翔泳社
    2013-10-22
    ¥ 3,024


    ●参考になったページ

    【追記】IPアドレスから国名を取得するGeoIPを使ってみた。 - 麹町で働くWebエンジニアのメモ帳

    $country = geoip_country_name_by_name($ip);



    GeoIP関数を使うためのPECLをインストールする手順の解説
    GeoIPをPHPで使うためにインストール | オブジェクト思考型ライフ

    GeoIPを使ったらIPから都道府県を調べることができるらしいです。

    yumでインストール
    # yum install re2c geoip geoip-devel

    PHPで使うのでpeclもインストール
    # pecl install geoip

    /etc/php.d/geoip.ini
    を作って
    extension=geoip.so
    を書く。

    GeoIPCity.datがないということでDLでリネーム。
    cd /usr/share/GeoIP/
    wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
    gunzip GeoLiteCity.dat.gz
    mv GeoLiteCity.dat GeoIPCity.dat

    <?php print_r( geoip_record_by_name( '210.112.3.110.ap.yournet.ne.jp' ) ); ?>

    Array
    (
    [continent_code] => AS
    [country_code] => JP
    [country_code3] => JPN
    [country_name] => Japan
    [region] => 32
    [city] => Osaka
    [postal_code] =>
    [latitude] => 35.950000762939
    [longitude] => 137.26669311523
    [dma_code] => 0
    [area_code] => 0
    )



    MaxMind.comという所で元データを配布してくれてるんだなー。

    Thank you very much !!!
    関連記事

    コメント

    コメントの投稿


    管理者にだけ表示を許可する

    トラックバック

    トラックバックURL:
    http://hamamuratakuo.blog61.fc2.com/tb.php/1137-3eb9f2e9

    FC2Ad