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"
}
相关推荐
Gracker13 分钟前
AIW:从系统机制到性能排查,一本可以对照源码的 Android 电子书
android
三少爷的鞋24 分钟前
代码越来越便宜,判断力越来越贵:AI 时代的 Android 架构与协程避坑指南
android
Gracker2 小时前
SmartPerfetto 1.19.0:换过分析引擎之后,这次更新了什么
android
码农小河663 小时前
基于PHP的电商后台蜜罐系统
开发语言·php
HQL_seven6 小时前
【Android】BroadcastReceiver 详解
android
阿洛学长6 小时前
PHP开发框架对比:Laravel、Yii、Tp、Yaf、Swoole
php·laravel·swoole
Risehuxyc7 小时前
GetCpolar留V3版去掉V2版
php
_祝你今天愉快7 小时前
Paint Cavans高级绘制:[二] Paint-滤镜,XFERMODE
android
小乖写代码7 小时前
字段获取代码(Android) · Android Input Examples
android·whatsapp·账号注册
booboosui7 小时前
停一个活只有杀进程:界面上少了「说点要求」
android