这篇文章主要介绍了关于Laravel 中利用 GeoIP 获取用户地理位置信息,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下
我最近需要一个用户地域检测来设置用户的默认区域和货币。由 Daniel Stainback 创建的 torann/geoip 很好地满足为Laravel 5 项目提供 GeoIP 服务的要求。
这个 Laravel GeoIP 包支持一些服务,包括默认的 ip-api.com 服务, 一个可下载的 Maxmind 数据库和 Maxmind API。你也可以通过这个配置轻松地增加一个通用的服务。
这个包的基本使用是引用 geoip()
帮助函数,可选择性传递 IP 地址参数。下面是一个基于 IP 地址的地址对象的例子:
\Torann\GeoIP\Location { #attributes:array [ 'ip' => '232.223.11.11', 'iso_code' => 'US', 'country' => 'United States', 'city' => 'New Haven', 'state' => 'CT', 'state_name' => 'Connecticut', 'postal_code' => '06510', 'lat' => 41.28, 'lon' => -72.88, 'timezone' => 'America/New_York', 'continent' => 'NA', 'currency' => 'USD', 'default' => false, ] }
登录后复制
正如你所看到的,地址对象包含一些地域信息,有助于决定用户的货币,时区和国家 ISO 代码。
如果目标地址没有找到,可使用一份可配置的备用地址代替,这时 default
参数被设置为 true
。你可以覆盖默认设置,默认配置如下所示:
'default_location' => [ 'ip' => '127.0.0.0', 'iso_code' => 'US', 'country' => 'United States', 'city' => 'New Haven', 'state' => 'CT', 'state_name' => 'Connecticut', 'postal_code' => '06510', 'lat' => 41.31, 'lon' => -72.92, 'timezone' => 'America/New_York', 'continent' => 'NA', 'default' => true, 'currency' => 'USD', ],
登录后复制
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注Work网!
相关推荐:
以上就是Laravel 中利用 GeoIP 获取用户地理位置信息的详细内容,更多请关注Work网其它相关文章!