下载鸥 > 网站下载 > 开发教程 > PHP

PHP获取访客IP和位置API接口代码

1043 2021-02-14 10:09:55

收藏

PHP获取访客IP和位置API接口代码,可以获取用户非常详细的地址信息,精确到国、省、市区、通信公司,当然还可以获取到精准的IP地址。

<?php
$ip = $_GET['ip'];
if(empty($ip)){
$ip = get_ip();
}
//获得访客真实ip
function get_ip(){
if(getenv('HTTP_CLIENT_IP')) {
$ip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR')) {
$ip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR')) {
$ip = getenv('REMOTE_ADDR');
} else {
$ip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
}return $ip;
}
/**
//根据ip获得访客所在地地名
$mip = file_get_contents("http://whois.pconline.com.cn/ip.jsp?ip=".$ip); //太平洋电脑网接口
$mip = iconv("gbk","utf-8",$mip);
$str = str_replace(PHP_EOL, '', $mip); 
*/
//淘宝接口
function get_local($ip){
$url="http://ip.taobao.com/service/getIpInfo.php?ip=".$ip;
$ipinfo=json_decode(file_get_contents($url)); 
if($ipinfo->code=='1'){
return false;
}
$city = $ipinfo->data->country.' '.$ipinfo->data->region.' '.$ipinfo->data->city.' '.$ipinfo->data->county.' '.$ipinfo->data->isp;
return str_replace('XX','',$city); 
}
echo json_encode(['ip'=>$ip,'local'=>get_local($ip)]);
?>

 

本文地址:https://xzo.com.cn/develop/php/546.html

有帮助,很赞!

信息来源:精准像素
导出教程 下载word版教程
发表评论 共有条评论
关于PHP

PHP是一种服务器端、跨平台、html嵌入式的脚本语言,其功能十分强大、入门简单。在过去,民间一直有说法称“PHP是最好的编程语言”,是PHP开发者对自身所使用语言的肯定。

PHP曾是最主流的网站web开发语言之一,现在也依然十分流行。

推荐PHP开发教程
PHP怎样正则匹配段落里的图片并提取图片链接?
PHP怎样正则匹配段落里的图片并提取图片链接?

在程序开发的过程中,我们可能需要提取段落里的图片用作缩略图。那么,这个正则...

19 823
PHP正则提取字符串中的数字组成数组
PHP正则提取字符串中的数字组成数组

在实际操作过程中,我们可能需要通过PHP正则提取字符串中的数字,并组成数组。...

13 1255
PHP怎样用正则判断一个链接是内链还是外链?
PHP怎样用正则判断一个链接是内链还是外链?

在日常文章的发表过程中,由于需要引入一些外部链接达到更好的效果与体验。但...

26 1204
PHP排序函数sort、asort、rsort、krsort、ksort区别与用法详解
PHP排序函数sort、asort、rsort、krsort、ksort区别与用法详解

在php中自带了大量了数组排序函数,使用起来非常简单,下面我们一一来介绍一下...

3 332
ajax发起session请求发现session无效了怎么办?
ajax发起session请求发现session无效了怎么办?

今天遇到这样一个问题:php启用了session,经过测试也发现session生效了。但在a...

1 333
当缓存文件大于4KB,不能用cookie时的替代方案就是session
当缓存文件大于4KB,不能用cookie时的替代方案就是session

鸥哥最近在开发一个项目,出于对用户隐私的保护,数据一概不能存储到数据表,而是...

1 333
宝塔Nginx免费防火墙提示post参数(post_max_size)值长度超过20w已被系统拦截怎么办?
宝塔Nginx免费防火墙提示post参数(post_max_size)值长度超过20w已被系统拦截怎么办?

页面提交post请求后被宝塔防火墙拦截,查看日志显示错误:参数值长度超过20w已...

1 419
php正则提取字符串中的数字并打印输出
php正则提取字符串中的数字并打印输出

我们在网站开发的过程中经常需要处理数据,今天讲讲怎样用正则提取字符串中的...

0 300
随机PHP开发教程
PHP自动Get监控网站是否在线
PHP自动Get监控网站是否在线

PHP自动Get监控网站是否在线,创建个PHP文件放到你的网站根目录里面,访问后不...

7 1016
PHP超简单的随机图片头像API接口代码
PHP超简单的随机图片头像API接口代码

去网上找了些随机图片API接口网站,发现接口有点慢,就想着自己搭建个随机图片...

12 1237
php网易云热评api接口源码(附网易云音乐下载直链)
php网易云热评api接口源码(附网易云音乐下载直链)

php网易云热评ap接口源码,实时抓取网易云音乐热门评论,随机热评。文末附带网...

10 340
php统计在线人数和IP代码
php统计在线人数和IP代码

统计网站访问IP以及在线的人数,推荐使用成熟的统计程序来完成,下面这篇适合局...

3 1367
php实现无刷新在线点赞功能
php实现无刷新在线点赞功能

在用php实现无刷新在线点赞功能前,我们需要知道这个功能逻辑流程是什么,其实...

0 912
PHP一句话搞定CC攻击动态页面方法
PHP一句话搞定CC攻击动态页面方法

大家都知道CC攻击一般攻击网站的动态页面,静态页面一般随便用个防御软件就可...

7 271
PHP exit()函数详解
PHP exit()函数详解

exit() 函数输出一条消息,并退出当前脚本。通俗解释就是终止当前脚本,exit()...

0 1067
简单的PHP域名授权访问代码(本地验证)
简单的PHP域名授权访问代码(本地验证)

简单的PHP域名授权访问代码,增加了Zend 5加密,本地验证。通过程序限制域名从...

4 1516
客服QQ:341553759
点击咨询 常见问题 >
官方交流群:90432500
点击加入