PHP根据IP地址获取地理位置城市和经纬度信息

php 复制代码
/** 根据IP地址 获取地理位置*/
function getLocationByIP($ip) {
    $url = "http://ip-api.com/json/{$ip}?lang=zh-CN&fields=status,message,country,countryCode,region,regionName,city,lat,lon,timezone,isp,org,as";
    $response = file_get_contents($url);
    $data = json_decode($response, true);

    if ($data['status'] == 'success') {
    	return $data;
        
    } else {
        return ''; // 或者返回错误信息
    }
}

在浏览器里请求这个地址

php 复制代码
http://ip-api.com/json/124.236.132.47?fields=status,message,country,countryCode,region,regionName,city,lat,lon,timezone,isp,org,as&lang=zh-CN

返回了这些信息

php 复制代码
{
"status":"success",
"country":"中国",
"countryCode":"CN",
"region":"HE",
"regionName":"河北省",
"city":"石家庄市",
"lat":38.036,
"lon":114.47,
"timezone":"Asia/Shanghai",
"isp":"Chinanet",
"org":"Chinanet HE",
"as":"AS4134 CHINANET-BACKBONE"
}
相关推荐
alexhilton7 小时前
端侧RAG实战指南
android·kotlin·android jetpack
二流小码农15 小时前
鸿蒙开发:路由组件升级,支持页面一键创建
android·ios·harmonyos
xq952717 小时前
Android 手游SDK组件化开发实战指南
android
煤球王子19 小时前
学习记录:Android14中的WiFi-wpa_supplicant(1)
android
张小潇20 小时前
AOSP15 Input专题InputDispatcher源码分析
android
TT_Close20 小时前
【Flutter×鸿蒙】debug 包也要签名,这点和 Android 差远了
android·flutter·harmonyos
Kapaseker21 小时前
2026年,我们还该不该学编程?
android·kotlin
JaguarJack1 天前
PHP 的异步编程 该怎么选择
后端·php·服务端
BingoGo1 天前
PHP 的异步编程 该怎么选择
后端·php
雨白2 天前
Android 快捷方式实战指南:静态、动态与固定快捷方式详解
android