如何使用 PHP 从 IP 地址获取位置信息
为了根据访问者的独特位置定制您的网页,您需要一种根据 IP 地址检索城市、州和国家等信息的可靠方法。有多种选项可用于执行此操作。
一种方法是下载免费的 GeoIP 数据库并在本地执行查找。或者,您可以使用第三方服务进行远程查找,这是一个方便的选项,可以消除设置麻烦,但会增加延迟。
这样的第三方服务之一是 ipinfo.io。它提供有关 IP 地址的各种信息,包括主机名、地理位置、网络所有者等。
例如:
$ 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 }
以下是如何在中使用 ipinfo.io 的示例PHP:
$ip = $_SERVER['REMOTE_ADDR']; $details = json_decode(file_get_contents("http://ipinfo.io/{$ip}/json")); echo $details->city; // -> "Mountain View"
您还可以在客户端集成 ipinfo.io。这是一个 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");
以上是如何使用 PHP 和第三方 API 从 IP 地址获取城市、州和国家/地区?的详细内容。更多信息请关注PHP中文网其他相关文章!