PHP实现获取客户端IP并获取IP信息 |
代码很简洁,功能很实用,这里就不多废话了,直接奉上: 复制代码 代码如下: <?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(); } 以上就是本文的全部内容了,希望大家能够喜欢 。 |