這篇文章主要介紹了關於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',],
以上就是本文的全部內容,希望對大家的學習有所協助,更多相關內容請關注topic.alibabacloud.com!