thinkphp IP 获取和定位
![]() | ![]() | ![]() | ![]() |
| 【性价之王】 | 【线路之王】 | 【价格之王】 | 【配置之王】 |
| 【免费之王】 | 【香港首推】 | 【梯子之王】 | 【独服之王】 |

系统内置了 get_client_ip 方法用于获取客户端的 IP 地址,使用示例:
$ip = get_client_ip();上面的方法会返回一个客户端 IP 地址,但是如果要根据 IP 定位功能,则需要配合 IP 地址库文件(详见:http://www.kancloud.cn/manual/thinkphp/1885),网上下的 IP 地址库都不是很全面,因此我采用了使用第三方 API 获取 IP 定位信息的方法,这里选用的是百度 API 集市中的一个免费 IP 地址查询 API(详见:http://apistore.baidu.com/apiworks/servicedetail/114.html)。
具体实现方法:
function getIpInfo($ip){ $ch = curl_init(); $url = 'http://apis.baidu.com/apistore/iplookupservice/iplookup?ip='.$ip; $header = array( 'apikey:'.'你的 apikey', ); // 添加 apikey 到 header curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // 执行 HTTP 请求 curl_setopt($ch, CURLOPT_URL, $url); $res = curl_exec($ch); $arr = (array)json_decode($res,true); if($arr['errNum']==0){ $ip=$arr['retData']['ip']; $country=$arr['retData']['country']; $provice=$arr['retData']['provice']=='None'?'':$arr['retData']['provice']; $city=$arr['retData']['city']=='None'?'':$arr['retData']['city']; $district=$arr['retData']['district']=='None'?'':$arr['retData']['district']; $carrier=$arr['retData']['carrier']=='未知'?'':$arr['retData']['carrier']; eturn($country.' '.$provice.' '.$city.' '.$district.' '.$carrier.' '.$ip); } else{ return($arr['errMsg']); }在需要 ip 定位的地方调用这个方法,传入通过 get_client_ip 方法获取的 ip 即可,成功则返回详细 ip 定位信息,失败则返回错误代码,也可以根据 API 说明,进一步返回更友好的错误信息。
猜你可能想看的VPS
- grep 检索指定扩展名的文件内容,grep 指定文件后缀名全球[VPS测评]
- Laravel 中原生 SQL 查询分页方法全球[VPS测评]
- ¥33.15 月 256M 内存 5G 硬盘 512G 流量 30Mbp全球[VPS测评]
- HTTP 状态码大全(HTTP Status Code)全球[VPS测评]
- EUserv→免费 月 1GB 内存 10GB 空间 1TB 流量 1G虚拟空间(主机)
- Pyclouds→352 元 月 1GB 内存 20GB 空间 不限流量虚拟空间(主机)
- spinservers→$99 月 2*e5-2630L v2 64g 美国VPS[主机]
- 新商家慎重-StockServers→3.96 英镑 月 2 核 4G 全球[VPS测评]
- IOFLOOD→$229 月 2*E5-2660v1 128GB 内存 全球[VPS测评]
- Vultr 新用户首次充多少送多少(最高送 100 美元)活动下架 当有全球[VPS测评]
- DedeCMS 后台模块管理空白不显示列表的解决办法全球[VPS测评]
- html select 怎么设置默认选中项全球[VPS测评]
- 疯狂猜成语 图猜成语一个美女和一滩水是什么成语?全球[VPS测评]
- WordPress基于WPJAM BASIC开发的免费主题:Autumn全球[VPS测评]
- WordPress插件:nix-gravatar-cache汉化版实现G全球[VPS测评]
- quadranet机房 独立服务器买二赠一,3G DDoS高防,$39起独立服务器[U]
- NSS TW-台北VPS 测试记录 (14天免费试用)三网直连 解锁流媒全球[VPS测评]
- xhostfire-韩国KT 俄罗斯西伯利亚 伯力 vps 月付7刀起韩国VPS[主机]
- 升级为单向流量! RFChost → 洛杉矶Premium → CN2全球[VPS测评]
- Wikihost → 韩国BGP CN2 → 1G 200GHDD 韩国VPS[主机]
- 跨境电商平台首选香港服务器香港VPS[主机]
- 精美的宠物医院网站WordPress主题 - Valkuta全球[VPS测评]
- 拼多多回应筹备跨境电商业务:不予置评全球[VPS测评]
- 香港云服务器的优势有哪些方面香港VPS[主机]
- Ubuntu关机命令是什么?Ubuntu关机命令介绍全球[VPS测评]
- 跨境电商拔节生长关键期,宁波政协委员月谈会精准助力!全球[VPS测评]
- 尊云双十二:国内4核4G5M云服务器仅28元/月,香港CN2VPS仅84香港VPS[主机]
- EdgeNAT,香港CN2+BGP vps 带宽5M 月付72元香港VPS[主机]
- Linux系统下安装Java JDK全球[VPS测评]
- RAKsmart:1核1GB/40GB空间/不限流量/15Mbps/KV虚拟空间(主机)
转载请注明原文地址:http://140.238.13.167:12355/read-220714.html











