首頁 >後端開發 >php教程 >Laravel 中利用 GeoIP 獲取用戶地理位置信息

Laravel 中利用 GeoIP 獲取用戶地理位置信息

不言
不言原創
2018-07-07 16:51:342591瀏覽

這篇文章主要介紹了關於Laravel 中利用GeoIP 獲取用戶地理位置信息,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

##我最近需要一個用戶地域偵測來設定用戶的預設區域和貨幣。由 Daniel Stainback 創建的 torann/geoip  很好地滿足為Laravel 5 專案提供 GeoIP 服務的要求。 Laravel 中利用 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',
],
以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

Asf PHP 開發之配置資訊常駐系統記憶體

使用cronolog切割nginx存取日誌,定時清理舊日誌

以上是Laravel 中利用 GeoIP 獲取用戶地理位置信息的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn