分享一个自己做的根据 Ip 获取具体位置的 package

项目地址:https://github.com/zhuzhichao/ip-location-...

我很懒,下面直接从我的 readme 里面粘过来了。不过写的很详细了哦 :smile: 。同时已经同步到了 packagist 官方了,大家可以直接添加到依赖使用了。

第一次做包,求鼓励,:ghost: ,回头给大家分享如何创建 package 并同步到 packagist

Ip Location Zh

这是一个能够通过 IP,获取该 IP 所在的位置,例如通过 ip:1.192.94.203 可以获得是 中国河南郑州 , 同样能获得国外的地址,但是没有国内详细。
注:基于 17mon.cn 的IP数据库进行制作,该数据库每2个月更新一次,届时同步更新该插件

特点

  1. 不配置和使用数据库,妈妈再也不用担心配置问题了
  2. 使用简单,功能专(dan)注(yi)
  3. 使用composer进行安装管理,国际标准,方便快捷,即安即用,随时更新数据库
  4. 部分数据参考了纯真 IP 库、淘宝 IP 库、腾讯 IP 库、新浪 IP 库、中国互联网广告行业 IP 库的数据,还包括 BGP.HE.NET 以及全球各大地区的 IP 管理机构的 WHOIS 信息数据

Install && Use

Install Composer

这里不详细介绍安装 composer 了,大家根据 链接 自行安装吧!什么?没听过?你真的需要脑补了,赶快行动吧!^^

Use

如果已经有了 composer.json 文件的话,直接添加 "zhuzhichao/ip-location-zh": "1.*" 到依赖,然后执行 composer update

或者直接 composer require "zhuzhichao/ip-location-zh"

对于非laravel框架来说,可以这样来用

<?php

require 'vendor/autoload.php';

use Zhuzhichao\IpLocationZh\Ip;

var_dump(Ip::find('1.192.94.203'));

对于laravel可以这样优雅的用:

  1. 安装该插件

  2. app/config/app.php,或者你自定义配置的app.php文件内添加

'aliases' => array(
        'Ip'  => 'Zhuzhichao\IpLocationZh\Ip',
),
  1. 然后开始在你的项目里面使用了 Ip::find('1.192.94.203'),提示:在 laravel 中可以使用 Request::getClientIp() 来获取访问者的Ip

对,很简单,只用一个方法,那就是 find

Contributing

有什么新的想法和建议,欢迎提交 issue 或者 Pull Requests

License

MIT

本帖已被设为精华帖!
本帖由 Summer 于 7年前 加精
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2
Summer

已经帮你添加中英文字体之间的空格, 已经推荐到首页, 多谢发现 :+1:

9年前 评论

遇到错误了:

Call to undefined method Zhuzhichao\IpLocationZh\Ip::isDeferred()

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!