学做网站培训课程介绍

当前位置:

PHP获取IP地址并自动查询IP归属地

我们可以使用PHP代码来获取网站访问用户的IP地址,但怎么将IP地址自动转成归属地呢?下面学做网站论坛介绍一下实现方法。

PHP获取IP地址:


<?php
$user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
$user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
?>

PHP 通过IP地址自动查询归属地:


<?php
// 获取用户IP地址
$userIp = $historysql[$i]->uip;

// 构建请求URL
$url = "http://ip-api.com/json/{$userIp}?lang=zh-CN";

// 初始化cURL会话
$ch = curl_init();

// 设置cURL选项
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// 执行cURL会话
$response = curl_exec($ch);

// 关闭cURL会话
curl_close($ch);

// 将JSON响应解码为数组
$data = json_decode($response, true);

// 检查是否有错误或成功响应
if ($data && $data['status'] == 'success') {
// 输出归属地信息
echo "{$data['country']}";
echo " {$data['city']}";
} else {
echo "無法獲取資訊。";
}
?>

这个数据可以有以下几个参数值供显示:


{
"query": "24.48.0.1",
"status": "success",
"country": "Canada",
"countryCode": "CA",
"region": "QC",
"regionName": "Quebec",
"city": "Montreal",
"zip": "H1K",
"lat": 45.6085,
"lon": -73.5493,
"timezone": "America/Toronto",
"isp": "Le Groupe Videotron Ltee",
"org": "Videotron Ltee",
"as": "AS5769 Videotron Ltee"
}

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

相关教程

  • 零基础建站不用装太多软件,选对必备的几个,实用又好操作,下面给大家推荐几款新手友好的软件,跟着装就行,不用浪费时间在找软件上。第一款:建站
  • 用WordPress搭建个人博客特别简单,不用懂代码,跟着步骤一步步来,新手也能在几天内搞定,下面给大家详细说一下。第一步,准备域名和空间。域名就是
  • WordPress的下拉菜单能让网站导航更清晰,带图的二级下拉菜单更直观好看,不用写复杂代码,用插件就能实现,新手也能搞定。首先要安装一个支持带图下
  • 新手学做网站难免遇到各种问题,不用慌,很多问题都是新手必经之路,下面总结了最常见的问题和简单的解决方法,照着做就能搞定,不用到处求人。问题1
  • Hostinger 主机开启自带 CDN 步骤:Hostinger 自带 CDN 仅 Business 及以上套餐可用,入门单网站套餐无此功能。第一步:用户名密码登录Hostinger主
  • 对于企业网站、电商网站来说,产品展示功能是核心,一个好的产品展示功能能让用户快速了解产品信息,提高购买意愿。很多新手做网站的时候,不知道怎么
  • 不懂编程也能搭建个人网站,现在的工具早就实现“无代码建站”了,不用写一行代码,跟着下面的步骤来,小白也能快速拥有自己的网站,不用怕学不会。首
  • 想让网页上的文字闪烁,比如提醒用户注意某个信息,不用写复杂的JS代码,用HTML或CSS就能实现,新手也能轻松上手。第一种方法是用HTML的blink标签,
  • 零基础做网站不用花很多钱,丰俭由人,少则几百块,多则几千块,主要看你的需求,不用盲目花钱,下面给大家算一笔明白账,让你心里有数。首先是域名
  • 很多人做网站都会用现成的模板,毕竟自己从零设计网站不仅费时间,还需要专业的设计能力。但现成的模板用的人多了,很容易出现“撞脸”的情况,别人打开