Laravel 中利用 GeoIP 擷取使用者地理位置資訊

來源:互聯網
上載者:User
這篇文章主要介紹了關於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!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.