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"
}
相关推荐
安卓开发者18 分钟前
Android RxJava 组合操作符实战:优雅处理多数据源
android·rxjava
阿华的代码王国23 分钟前
【Android】RecyclerView复用CheckBox的异常状态
android·xml·java·前端·后端
一条上岸小咸鱼24 分钟前
Kotlin 基本数据类型(三):Booleans、Characters
android·前端·kotlin
Jerry说前后端42 分钟前
RecyclerView 性能优化:从原理到实践的深度优化方案
android·前端·性能优化
鱼鱼说测试43 分钟前
Jenkins+Python自动化持续集成详细教程
开发语言·servlet·php
alexhilton1 小时前
深入浅出着色器:极坐标系与炫酷环形进度条
android·kotlin·android jetpack
网硕互联的小客服5 小时前
Apache 如何支持SHTML(SSI)的配置方法
运维·服务器·网络·windows·php
苏琢玉6 小时前
如何让同事自己查数据?写一个零依赖 PHP SQL 查询工具就够了
mysql·php
M1A17 小时前
TCP协议详解:为什么它是互联网的基石?
后端·网络协议·tcp/ip
一条上岸小咸鱼7 小时前
Kotlin 基本数据类型(一):Numbers
android·前端·kotlin