ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

ip-location-zh 使用教程:从安装到查询的 10 分钟完整实战指南

ip-location-zh 使用教程:从安装到查询的 10 分钟完整实战指南 ip-location-zh 使用教程从安装到查询的 10 分钟完整实战指南【免费下载链接】ip-location-zh获取 IP 地址的真实地理位置项目地址: https://gitcode.com/gh_mirrors/ip/ip-location-zhip-location-zh 是一款免费的 PHP IP 地址定位库无需数据库配置一行 composer 命令即可安装通过Ip::find一个方法就能查出 IP 地址的真实地理位置例如中国河南郑州以及中国行政区划代码支持到市级。本文带你 10 分钟内完成安装与首次查询。一、ip-location-zh 是什么能做什么简单来说输入一个 IP 地址返回它所在的位置。中文结果171.12.10.156→中国 河南 郑州国外 IP 同样支持只是不如国内详细行政区划代码额外返回市级编码如410100郑州方便做区域统计⚡零配置不依赖 MySQL 等数据库IP 数据库以二进制文件src/20190703.ipdb随包提供即安即用Composer 管理遵循国际标准的依赖管理随时可更新⚠️ 提前说明免费版数据不含经纬度、运营商、行政区等字段也不负责国家码/邮编适合需求简单的场景数据更新于 2019-7-3不定期更新。二、如何快速安装 ip-location-zh1. 前置条件确认 Composer 可用ip-location-zh 通过 Composer 安装。若未安装先自行安装 Composer再执行下一条命令。2. 一行命令完成安装在你的项目根目录执行composer require zhuzhichao/ip-location-zh如果你更想先把仓库克隆到本地查看源码可以使用git clone https://gitcode.com/gh_mirrors/ip/ip-location-zh安装完成后核心文件位于src/Ip.php查询逻辑与src/20190703.ipdbIP 数据库无需任何额外配置。三、10 秒上手IP 定位查询实战1. 最简查询示例require vendor/autoload.php; use Zhuzhichao\IpLocationZh\Ip; var_dump(Ip::find(171.12.10.156));2. 看懂返回结果查询返回一个数组各字段含义如下下标示例值含义0中国国家1河南省份2郑州城市3空保留位4410100市级行政区划代码几个值得注意的细节查询127.0.0.1会返回「本机地址」而不是报错传入不合法的字符串会抛出InvalidArgumentException异常请确保传入合法 IP数据库中查不到的 IP 返回N/A同时支持 IPv4 与 IPv6内置缓存机制同一个 IP 二次查询直接命中缓存性能开销极低 核心源码参考Ip::find 是全部查询入口整个库对外就暴露这一个方法真正做到了「功能专一」。四、Laravel 项目中如何接入 IP 定位如果你使用 Laravel 框架接入更优雅只需三步安装插件composer require zhuzhichao/ip-location-zh注册别名Laravel 5.0 - 5.4 需在config/app.php的aliases中添加Ip Zhuzhichao\IpLocationZh\IpLaravel 5.5 支持扩展包自动发现可跳过直接使用Ip::find(171.12.10.156); Ip::find(Request::getClientIp()); // 直接查访问者的 IP最后一行非常实用一行代码即可定位当前访问者所在省市常用于用户日志、区域限制等场景。五、行政区划代码如何解析find返回的最后一个元素是行政区划代码如410100。如果需要把省份、城市名与编码做对照可直接调用内置方法$locations \Zhuzhichao\IpLocationZh\Ip::locations(); // 覆盖全国省/直辖市/自治区含各城市编码该映射表内置于src/Ip.php的locations()方法中无需额外维护。测试用例见tests/TestIp.php可帮助你快速验证环境是否正常。六、常见问题 FAQQ1数据多久更新一次A不定期更新当前数据库版本为20190703文件名见src/20190703.ipdb。对精度要求不高、追求免费的场景完全够用。Q2为什么查不到经纬度和运营商A免费数据库不提供经纬度、运营商、行政区等详细内容这是免费版与商业版的差异。Q3国外 IP 能查吗A可以但详细程度不如国内 IP。Q4支持 IPv6 吗A支持find方法会先校验 IPv4/IPv6 合法性再进行查询。写在最后回顾一下 ip-location-zh 的三个优势零数据库配置、单一方法上手、Composer 标准管理。项目结构也非常清爽核心文件一览src/Ip.php核心查询与行政区划编码逻辑src/20190703.ipdbIP 地理位置数据库tests/TestIp.phpPHPUnit 测试用例composer.json包元信息MIT 协议见License.txt只需 10 分钟你的 PHP 项目就具备了 IP 地址真实地理位置查询能力 【免费下载链接】ip-location-zh获取 IP 地址的真实地理位置项目地址: https://gitcode.com/gh_mirrors/ip/ip-location-zh创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进