分享一个自己做的根据 Ip 获取具体位置的 package
我很懒,下面直接从我的 readme 里面粘过来了。不过写的很详细了哦 。同时已经同步到了 packagist 官方了,大家可以直接添加到依赖使用了。
第一次做包,求鼓励, ,回头给大家分享如何创建 package 并同步到 packagist。
Ip Location Zh#
这是一个能够通过 IP,获取该 IP 所在的位置,例如通过 ip:1.192.94.203
可以获得是 中国河南郑州
, 同样能获得国外的地址,但是没有国内详细。
注:基于 17mon.cn 的 IP 数据库进行制作,该数据库每 2 个月更新一次,届时同步更新该插件
特点#
- 不配置和使用数据库,妈妈再也不用担心配置问题了
- 使用简单,功能专(dan)注(yi)
- 使用 composer 进行安装管理,国际标准,方便快捷,即安即用,随时更新数据库
- 部分数据参考了纯真 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
可以这样优雅的用:
-
安装该插件
-
在
app/config/app.php
,或者你自定义配置的 app.php 文件内添加
'aliases' => array(
'Ip' => 'Zhuzhichao\IpLocationZh\Ip',
),
- 然后开始在你的项目里面使用了
Ip::find('1.192.94.203')
,提示:在laravel
中可以使用Request::getClientIp()
来获取访问者的 Ip
对,很简单,只用一个方法,那就是 find
。
Contributing#
有什么新的想法和建议,欢迎提交 issue 或者 Pull Requests。
License#
MIT
推荐文章: