最近在做一个公司的项目,在后台的用户数据统计的时候,用于显示用户的地域国家省份等信息。

然后就顺便研究了一下。

如果是国内项目,要求不高,可以采用国内的 Ip2region 点击到码云查看。

具体用法:

使用 php composer

composer require zoujingli/ip2region

然后在控制器里面 ,具体应用到哪里根据自己的项目决定吧,我给一个演示

use Ip2Region;
public function getipinfo(){$ip2region = new Ip2Region();$ip = '128.101.101.101';echo PHP_EOL;echo "查询IP:{$ip}" . PHP_EOL;$info = $ip2region->btreeSearch($ip);echo '<pre>';print_r($info);echo '<pre>';exit();}

这样就完成了,但是有一些项目,比如我现在做的这个,因为牵扯到国际版,所以需要用英语。于是就采用了 GeoIp2,下面说一下 GeoIp2在thinkphp中的用法。

安装,在thinkphp根目录下执行

composer require geoip2/geoip2:~2.0

然后控制器

use \GeoIp2\Database\Reader;
public function getipinfo()
{$reader = new Reader($_SERVER['DOCUMENT_ROOT']. '\GeoIp2_data\dbip-city-lite-2021-11.mmdb');$record = $reader->city('128.101.101.101');print($record->country->isoCode . "<br>"); // 'US'
print($record->country->name . "<br>"); // 'United States'
print($record->country->names['zh-CN'] . "<br>"); // '美国'
print($record->mostSpecificSubdivision->name . "<br>"); // 'Minnesota'
print($record->city->name . "<br>"); // 'Minneapolis'
print($record->location->latitude . "<br>"); // 44.9733
print($record->location->longitude . "<br>"); // -93.2323
}

下面的参数自己去调用。

数据库路径自己设定,这个数据库可以在官方免费下载,注意官方分免费和收费版,当然,收费版的信息会更精准,更新更快,但是一般项目来说,免费版本就够了。

GeoIP 下载页面https://www.maxmind.com/en/accounts/current/geoip/downloads各位看官,肯定会有人说为什么不用IP查询接口,

1,国内的大部分每天只能查多少次,都是收费的,

2.,国外的免费的很多,但是说实话,如果页面上大量查询,肯定会慢。【国外的免费接口集合】https://yiweibang.com/archives/2021/11/2106

好了,到这就完毕了

thinkphp 集成 GeoIp2 用于显示用户IP对应的信息相关推荐

  1. php与ie通信,php 获取用户IP与IE信息程序

    php 获取用户IP与IE信息程序 function onlineip() { global $_SERVER; if(getenv('HTTP_CLIENT_IP')) { $onlineip = ...

  2. android SQLite查询并显示用户输入的选择信息

    上一篇博客写的也是千辛万苦,第一次写很多格式也没有注意,出来的效果太渣,修改了好几次才弄好.上一篇说完了把用户输入的选项信息保存成0123335621这样的字符串保存在数据库的一个表格中,当我们要查看 ...

  3. 获取用户ip和设备信息

    1.获取用户ip javascript获取访问者IP及所在地 2.获取用户的设备信息 javascript获取访问者设备信息 3.判断用户是点击链接进来的还是直接输入网站进来的,直接输入的referr ...

  4. Emlog评论区显示用户操作系统与浏览器信息教程

    近期有不少初入Emlog的站长来咨询Emlog程序的评论区域如何实现获取到评价用户的操作系统和浏览器信息,其实要实现该功能也很简单,而且网上也有不少类是的插件.今天,冬镜就和大家聊聊不用插件来实现获取 ...

  5. linux id 命令 显示用户id和组id信息

    Linux id命令用于显示用户的ID,以及所属群组的ID. id会显示用户以及所属群组的实际与有效ID.若两个ID相同,则仅显示实际ID.若仅指定用户名称,则显示目前用户的ID. 语法 id [-g ...

  6. 第三方免费开放API 获取用户IP 并查询其地理位置

    需求:有一个项目是微信公众号,属于汽车服务.当车主在填写车主资料或者车辆认证时,需要填写车牌号或者车架号:车牌号需要选择省,为了方便用户操作,所以想自动定位默认省,如下图: 我查询了一些博客,找到了一 ...

  7. last 命令 – 显示用户历史登录情况

    last 命令的功能是用于显示用户历史登录情况,通过查看系统记录的日志文件内容,进而使管理员可以获知谁曾经或者试图连接过服务器. 通过读取系统登陆历史日志文件(/var/log/wtmp)并按照用户名 ...

  8. php定位和天气,基于thinkphp实现依据用户ip判断地理位置并提供对应天气信息的应用...

    基于thinkphp实现根据用户ip判断地理位置并提供对应天气信息的应用 我们都知道,在很多的网站都提供了给用户提供天气预报的功能,有时会发现,用户即使不输入任何和自己有关的地理位置信息,同样的网站也 ...

  9. php定位和天气,基于thinkphp实现根据用户ip判断地理位置并提供对应天气信息的应用_PHP教程...

    基于thinkphp实现根据用户ip判断地理位置并提供对应天气信息的应用 我们都知道,在很多的网站都提供了给用户提供天气预报的功能,有时会发现,用户即使不输入任何和自己有关的地理位置信息,同样的网站也 ...

最新文章

  1. PageAdmin CMS网站建设教程:如何实现信息的定时发布
  2. 计算机维修工国家职业标准,计算机维修工国家职业标准.pdf
  3. SQL中的重复记录操作
  4. STM32串口中断实验总结函数的初始化必须在变量的初始化之后在进行!
  5. JsonUtils 工具类
  6. 资源 | 深度学习课程入门与介绍
  7. 使用静态工厂方法而不是构造器
  8. UITableViewCell的高亮和选中以及自绘分割线
  9. Python CGI编程
  10. ACCESS数据库增强器需求及介绍
  11. 如何用 Python 实时监控文件?方法有三种你喜欢哪一种?
  12. 【运维面试】面试官: 你们公司的上线流程是怎么样的?
  13. golang dep 导入报错问题
  14. 企业微信机器人脚本python_python3 企业微信机器人发送图片
  15. 发音程序c语言,用C语言发声
  16. MySQL高性能索引设计
  17. springboot+阿里云短信 找不到本地包 解决
  18. P2770【USACO 2014 January Gold】难度系数
  19. 2020牛客暑期多校训练营(第八场)I.Interesting Computer Game(并查集)
  20. 关苏哲-洞察问题本质,解决工作难题

热门文章

  1. win10系统搜索不到某些老式打印机
  2. css sprite/css精灵
  3. java/scala正则匹配英文句号
  4. 微信小程序手写板电子签名实现
  5. ffmpeg sws_scale
  6. MLX90640开发笔记(三)工作流程和操作MLX90640的一般步骤
  7. linux subsystem,subsystem
  8. 对MCSE认证学习的一点看法
  9. nRF51822低功耗CPU睡眠软件应用
  10. rbw数字信号处理_【有奖】示波器,实时频谱仪?MXR让您鱼与熊掌兼得!