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"
}
相关推荐
陆业聪6 分钟前
技术选型决策树:什么团队、什么项目该选什么框架 | 跨平台框架深度对决(4)
android·架构设计
梦梦代码精1 小时前
Likeshop一个开源商城到底有哪些功能模块?
java·低代码·开源·php
悲伤小伞1 小时前
Linux_传输层协议TCP详解
linux·网络·c++·网络协议·tcp/ip
赏金术士1 小时前
Kotlin 从入门到进阶 之协程 Flow 模块(九)
开发语言·kotlin·php
JohnnyDeng941 小时前
Kotlin 协程原理与 Android 中的最佳实践
android·kotlin·协程
学网安的肆伍1 小时前
【044-WEB攻防篇】PHP应用&SQL盲注&布尔回显&延时判断&报错处理&增删改查方式
前端·sql·php
Aleyn1 小时前
用 KSP 给 Navigation 3 加一层「跨模块路由」:nav3-helper 设计与使用
android·android jetpack·composer
GeekBug2 小时前
Claude Code 如何帮我写 80% 的 Android 样板代码
android·claude
dora2 小时前
手把手带你实现一个Android抽卡集图鉴功能
android
海雅达手持终端PDA2 小时前
海雅达Model 10X—高通6490工业三防平板,生产制造仓储管理应用
android·物联网·能源·制造·信息与通信·交通物流·平板