Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Mendapatkan Lokasi Pelawat (Bandar, Negeri, Negara) daripada Alamat IP Mereka dalam PHP?

Bagaimanakah Saya Boleh Mendapatkan Lokasi Pelawat (Bandar, Negeri, Negara) daripada Alamat IP Mereka dalam PHP?

Susan Sarandon
Susan Sarandonasal
2024-12-18 15:25:10520semak imbas

How Can I Get a Visitor's Location (City, State, Country) from Their IP Address in PHP?

Mendapatkan Maklumat Lokasi daripada Alamat IP dalam PHP

Mencari bandar, negeri dan negara pelawat berdasarkan alamat IP mereka adalah penting untuk menyesuaikan laman web. Dalam PHP, terdapat dua pendekatan utama untuk mencapai ini: menggunakan pangkalan data GeoIP tempatan atau menggunakan perkhidmatan pihak ketiga.

Pangkalan Data GeoIP Tempatan

Kaedah ini memerlukan muat turun pangkalan data GeoIP percuma untuk carian tempatan. Walau bagaimanapun, ia memperkenalkan kerumitan dalam pengurusan pangkalan data dan kemas kini.

Perkhidmatan Pihak Ketiga

Pencarian jauh melalui perkhidmatan pihak ketiga adalah lebih mudah dan mempunyai persediaan yang minimum. Satu perkhidmatan yang boleh dipercayai ialah ipinfo.io, yang menyediakan rangkaian maklumat yang komprehensif, termasuk geolokasi, nama hos, pemilik rangkaian dan butiran peringkat bandar.

Pelaksanaan PHP

Menggunakan ipinfo.io dalam PHP adalah mudah:

$ip = $_SERVER['REMOTE_ADDR'];
$details = json_decode(file_get_contents("http://ipinfo.io/{$ip}/json"));
echo $details->city; // -> "Mountain View"

JavaScript Sisi Pelanggan Integrasi

Untuk integrasi pihak pelanggan menggunakan 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));
});

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Lokasi Pelawat (Bandar, Negeri, Negara) daripada Alamat IP Mereka dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn