PHP实现获取客户端IP并获取IP信息
author:一佰互联 2019-04-28   click:159

代码很简洁,功能很实用,这里就不多废话了,直接奉上:

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

以上就是本文的全部内容了,希望大家能够喜欢。