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"
}
相关推荐
恋猫de小郭35 分钟前
Flutter 新春第一弹,Dart 宏功能推进暂停,后续专注定制数据处理支持
android·java·flutter
onehang.5 小时前
寒假学web--day08
sql·网络安全·php
IpdataCloud7 小时前
Java 获取本机 IP 地址的方法
java·开发语言·tcp/ip
我是大佬的大佬7 小时前
有关Android Studio的安装与配置并实现helloworld(有jdk的安装与配置)(保姆级教程)
android·android studio·软件工程
Mr_Xuhhh8 小时前
进程间通信
android·java·服务器·开发语言·数据库
忆源9 小时前
SOME/IP--协议英文原文讲解3
网络·网络协议·tcp/ip
向明天乄9 小时前
uniapp 地图添加,删除,编辑标记,在地图中根据屏幕范围中呈现标记
android·java·uni-app
zhangphil12 小时前
Android createScaledBitmap与Canvas通过RectF drawBitmap生成马赛克/高斯模糊(毛玻璃)对比,Kotlin
android·kotlin
消失的旧时光-194314 小时前
android 音视频系列引导
android·音视频
刘争Stanley15 小时前
Kotlin开发(六):Kotlin 数据类,密封类与枚举类
android·开发语言·kotlin