Cara Mendapatkan Maklumat Lokasi daripada Alamat IP dalam PHP
Untuk menyesuaikan halaman web anda kepada lokasi unik pelawat, anda perlu cara yang boleh dipercayai untuk mendapatkan maklumat seperti bandar, negeri dan negara berdasarkan alamat IP mereka. Terdapat pelbagai pilihan yang tersedia untuk melakukan ini.
Satu pendekatan ialah memuat turun pangkalan data GeoIP percuma dan melakukan carian secara setempat. Sebagai alternatif, anda boleh menggunakan perkhidmatan pihak ketiga untuk carian jauh, pilihan mudah yang menghilangkan kerumitan persediaan tetapi menambah kependaman.
Satu perkhidmatan pihak ketiga sedemikian ialah ipinfo.io. Ia menawarkan pelbagai maklumat tentang alamat IP, termasuk nama hos, geolokasi, pemilik rangkaian dan banyak lagi.
Contohnya:
$ curl ipinfo.io/8.8.8.8 { "ip": "8.8.8.8", "hostname": "google-public-dns-a.google.com", "loc": "37.385999999999996,-122.0838", "org": "AS15169 Google Inc.", "city": "Mountain View", "region": "CA", "country": "US", "phone": 650 }
Berikut ialah contoh cara menggunakan ipinfo.io dalam PHP:
$ip = $_SERVER['REMOTE_ADDR']; $details = json_decode(file_get_contents("http://ipinfo.io/{$ip}/json")); echo $details->city; // -> "Mountain View"
Anda juga boleh menyepadukan ipinfo.io pada bahagian pelanggan. Berikut ialah contoh jQuery:
$.get("https://ipinfo.io/json", function (response) { $("#ip").html("IP: " + response.ip); $("#address").html("Location: " + response.city + ", " + response.region); $("#details").html(JSON.stringify(response, null, 4)); }, "jsonp");
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Bandar, Negeri dan Negara daripada Alamat IP menggunakan PHP dan API Pihak Ketiga?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!