PHP IPを取得する

公開: 2014-12-04 19:52
更新: 2016-04-29 06:02

IPアドレスを取得したい気分の時があります。

ところがどっこい$_SERVER['HTTP_CLIENT_IP']が127.0.0.1(localhost)を返すときがあります。



てな感じで、127.0.0.1を省いてIPを取得しちゃう関数はこれだ。

function get_client_ip() {
        $ip = '';
        $localhost = '127.0.0.1';
        $keys = array('HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED', 'REMOTE_ADDR');
        foreach($keys as $key) {
                if(isset($_SERVER[$key]) && $_SERVER[$key] != $localhost) {
                        $ip = $_SERVER[$key];
                        break;
                }
        }
        return $ip;
}

これでばっちぐー♪




この記事をシェア
この記事にコメントする
書き込む
あっきぃ(@appstars_aki)
Web、iOSなフリーランサーです。好きなものはお寿司です。でもお寿司は高いので普段は雑草とか拾ったドングリを食べています。お仕事や意味もなく毎月お小遣いをくれる人を探してます。

お仕事の依頼や自分で作ったアプリのレビューを希望しちゃう方はaki@appstars.jpまでご連絡ください。