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"
}
相关推荐
stevenzqzq29 分钟前
android启动和注入理解1
android
qq_7174100131 分钟前
修改飞行模式
android
禾叙_31 分钟前
【netty】Netty之TCP链接
网络·网络协议·tcp/ip
Larry_Yanan1 小时前
Qt安卓开发(一)Qt6.10环境配置
android·开发语言·c++·qt·学习·ui
冬奇Lab1 小时前
稳定性性能系列之十——卡顿问题分析:从掉帧到流畅体验
android·性能优化
徐子童1 小时前
网络协议---TCP协议
网络·网络协议·tcp/ip·面试题·1024程序员节
stevenzqzq1 小时前
android启动初始化和注入理解2
android
DOUBLEDdinosaur1 小时前
屏幕数字监控 + 警报
android
UrSpecial1 小时前
IP网络协议
服务器·网络·tcp/ip
M0066881 小时前
低代码平台使用留存的技术基础与系统设计逻辑
android·rxjava