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"
}
相关推荐
fundroid36 分钟前
Android Studio + Gemini:重塑安卓 AI 开发新范式
android·android studio·ai编程
vortex51 小时前
谷歌黑客语法挖掘 SQL 注入漏洞
android·数据库·sql
-指短琴长-4 小时前
MySQL快速入门——基本查询(下)
android·mysql·adb
西部森林牧歌4 小时前
Arbess零基础学习 - 使用Arbess+GitLab实现PHP项目构建/主机部署
ci/cd·gitlab·php·tiklab devops
张人玉5 小时前
网络通讯TCP和UDP的区别
网络协议·tcp/ip·udp
stevenzqzq6 小时前
android lambda回调
android
林北北的霸霸8 小时前
django初识与安装
android·mysql·adb
Q_Q5110082858 小时前
python+django/flask的校园活动中心场地预约系统
spring boot·python·django·flask·node.js·php
蒲公英源码9 小时前
基于PHP+Vue+小程序快递比价寄件系统
vue.js·小程序·php
Java 码农9 小时前
MySQL EXPLAIN 详解与优化指南
android·mysql·adb