ホームページ  >  記事  >  バックエンド開発  >  PHPはクライアントIPを取得し、IP情報を取得するメソッドを実装します。

PHPはクライアントIPを取得し、IP情報を取得するメソッドを実装します。

墨辰丷
墨辰丷オリジナル
2018-06-12 14:40:291313ブラウズ

この記事では、PHP でクライアント IP を取得する方法と IP 情報を取得する方法の例を主に紹介します。必要な友人は、ぜひ参考にしてください。

コードは非常に簡潔で、関数は非常に実用的です。ここではあまり意味のないことには触れません。

コードは次のとおりです。 ##

<?php
/**
 * 获取客户端IP
 * @param  integer $type 返回类型 0:string,1:long
 * @return string|long
 */
function getClientIp($type = 0) {
    $ip = NULL;
    if (isset($_SERVER[&#39;HTTP_X_FORWARDED_FOR&#39;])) {
        $arr = explode(&#39;,&#39;, $_SERVER[&#39;HTTP_X_FORWARDED_FOR&#39;]);
        $pos = array_search(&#39;unknown&#39;,$arr);
        if(false !== $pos) unset($arr[$pos]);
        $ip  = trim($arr[0]);
    }elseif (isset($_SERVER[&#39;HTTP_CLIENT_IP&#39;])) {
        $ip = $_SERVER[&#39;HTTP_CLIENT_IP&#39;];
    }elseif (isset($_SERVER[&#39;REMOTE_ADDR&#39;])) {
        $ip = $_SERVER[&#39;REMOTE_ADDR&#39;];
    }
    $long = sprintf("%u", ip2long($ip));
    $ip   = $long ? array($ip, $long) : array(&#39;0.0.0.0&#39;, 0);
    return $ip[$type];
}
/**
 * 获取IP信息
 * @param  string|long $ip  IP地址
 * @return array
 */
function getIpInfo($ip)
{
    if (is_long($ip)) {
        $ip = long2ip($ip);
    }
    $api = &#39;http://ip.taobao.com/service/getIpInfo.php&#39;;
    $ret = file_get_contents($api . &#39;?ip=&#39; . $ip);
    $ret = json_decode($ret, true);
    if ($ret[&#39;code&#39;] == 0) {
        return $ret[&#39;data&#39;];
    } 
    return array();
}

要約: 以上がこの記事の全内容です。皆さんの学習に役立つことを願っています。

関連する推奨事項:

PHP で参照ツリーを生成する方法

##PHP は phpmailer を使用して電子メールを送信します

#PHP におけるマジック メソッドの定義と使用

##

以上がPHPはクライアントIPを取得し、IP情報を取得するメソッドを実装します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。