php获取客户端真实ip

使用PHP获取客户端真实 IP

因为有需要获取客户真实IP来判断客户地址的问题,就搜索了一些相关的信息,整理分享,希望对大家有用。

/**

 * 获取用户真实 IP

 */

function getIP(){

    static $realip;

    if (isset($_SERVER)){

        if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){

            $realip = $_SERVER["HTTP_X_FORWARDED_FOR"];

        } else if (isset($_SERVER["HTTP_CLIENT_IP"])) {

            $realip = $_SERVER["HTTP_CLIENT_IP"];

        } else {

            $realip = $_SERVER["REMOTE_ADDR"];

        }

    } else {

        if (getenv("HTTP_X_FORWARDED_FOR")){

            $realip = getenv("HTTP_X_FORWARDED_FOR");

        } else if (getenv("HTTP_CLIENT_IP")) {

            $realip = getenv("HTTP_CLIENT_IP");

        } else {

            $realip = getenv("REMOTE_ADDR");

        }

    }

    return $realip;

}

/**

 * 获取 IP  地理位置

* @Return: array

 */

function getCity($ip){

$url="http://ip.taobao.com/service/getIpInfo.php?ip=".$ip;

$ip=json_decode(file_get_contents($url));

if((string)$ip->code=='1'){

  return false;

  }

  $data = (array)$ip->data;

return $data;

}

posted @ 2015-01-16 10:01  shenming  阅读(215)  评论(0编辑  收藏  举报