PHP实现获取客户端IP并获取IP信息

 更新时间:2015年03月17日 10:24:48   投稿:hebedich  
这篇文章主要介绍了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();
}

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

相关文章

  • PHP实现导出excel数据的类库用法示例

    PHP实现导出excel数据的类库用法示例

    这篇文章主要介绍了PHP实现导出excel数据的类库用法,结合实例形式分析了php操作Excel数据的读取与导出操作相关实现技巧,需要的朋友可以参考下
    2016-10-10
  • php 移除数组重复元素的一点说明

    php 移除数组重复元素的一点说明

    PHP中移除数组重复元素用的函数是array_unique
    2008-11-11
  • PHP实现随机发放扑克牌

    PHP实现随机发放扑克牌

    这篇文章主要为大家详细介绍了PHP实现随机发放扑克牌,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-04-04
  • PHP Token(令牌)设计

    PHP Token(令牌)设计

    PHP Token(令牌)设计 设计目标: 避免重复提交数据. 检查来路,是否是外部提交 匹配要执行的动作(如果有多个逻辑在同一个页面实现,比如新增,删除,修改放到一个PHP文件里操作) 这里所说的token是在页面显示的时候,写到FORM的一个隐藏表单项(type=hidden). token不可明文,如果是明文,那就太危险了,所以要采用一定的加密方式.密文要可逆.俺算法很白痴,所以采用了网上一个现成的方法.
    2008-03-03
  • PHP、Nginx、Apache中禁止网页被iframe引用的方法

    PHP、Nginx、Apache中禁止网页被iframe引用的方法

    这篇文章主要介绍了PHP、Nginx、Apache中禁止网页被iframe引用的方法,使用X-Frame-Options实现,需要的朋友可以参考下
    2014-06-06
  • 实例讲解PHP面向对象之多态

    实例讲解PHP面向对象之多态

    这篇文章主要介绍了实例讲解PHP面向对象之多态,本文用实例讲解什么情况下使用PHP的多态、多态的好处等内容,可以充分帮你理解多态,需要的朋友可以参考下
    2014-08-08
  • 深入解析PHP中逗号与点号的区别

    深入解析PHP中逗号与点号的区别

    大部分同学都知道逗号要比点号快,但就是不知道为什么,更不知道逗号与点号这两者之间到底有什么区别。下面小编就来详细的为大家介绍一下,需要的朋友可以过来参考下
    2013-08-08
  • PHP实现简单注册登录系统

    PHP实现简单注册登录系统

    这篇文章主要为大家详细介绍了PHP实现简单注册登录系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-12-12
  • PHP正确配置mysql(apache环境)

    PHP正确配置mysql(apache环境)

    以前说实话也配置过不少PHP网站,不过今天在弄一个CMS时还是出现了一个不可饶恕的错误,无法连接mysql
    2011-08-08
  • PHP计算数组中值的和与乘积的方法(array_sum与array_product函数)

    PHP计算数组中值的和与乘积的方法(array_sum与array_product函数)

    这篇文章主要介绍了PHP计算数组中值的和与乘积的方法,结合实例形式较为详细的分析了array_sum与array_product函数的功能与使用方法,需要的朋友可以参考下
    2016-04-04

最新评论