PHP实现获取客户端IP并获取IP信息
PHP实现获取客户端IP并获取IP信息
发布时间:2016-12-29 来源:查字典编辑
摘要:代码很简洁,功能很实用,这里就不多废话了,直接奉上:复制代码代码如下:

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

复制代码 代码如下:

<?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();

}

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

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类