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
- SaltyFishTech 劳动节促销,100M 带宽新品德国 cn2v全球[VPS测评]
- 抢购 HostDare→亚洲优化线路 65 折优惠 1 核 756M 内全球[VPS测评]
- 升级到 Windows10 后无法激活 升级 win10 后提示无法激活WINDOWS
- DedeCMS 禁止文档设置推荐后标题加粗 DedeCMS 去掉文档推荐全球[VPS测评]
- 疯狂猜成语 图猜成语三个人在登山头上有序号 123 是什么成语?全球[VPS测评]
- ECShop 安装过程报错→Strict Standards: Non-全球[VPS测评]
- 真实测评 云邦互联 E38 核 16GB 2TB 硬盘 10M 宽带 C全球[VPS测评]
- ShockHosting 五折 KVM 主机大硬盘 支持支付宝微信付款全球[VPS测评]
- Google Chrome 浏览器怎么清除缓存数据?全球[VPS测评]
- raksmart→“开年大促” 超大带宽 不限流量“独立服务器” 美国 独立服务器[U]
- 明恒互联(明恒云)双十一促销 全场8折 山东高防云2G2H 带100G(全球[VPS测评]
- 在宝塔面板安装WordPress如何设置伪静解决404页面全球[VPS测评]
- 咖啡主机 双十二 洛杉矶512M内存 40G硬盘 自带20Gbps高防 全球[VPS测评]
- HostEONS买AMD Ryzen+NVMe VPS送免费DirectWINDOWS
- Hostsatis → 1.3$ 月 土耳其 2C2G25G硬盘 1G端全球[VPS测评]
- Linux安装rinetd实现TCP UDP端口转发(rinetd使用教全球[VPS测评]
- SoyouStart → E3-1225v2 16G 内存 3*2T S全球[VPS测评]
- 中国跨境电商,如何掘金欧洲市场?全球[VPS测评]
- 云计算的三种服务模式,SaaS和PaaS的区别在哪里?全球[VPS测评]
- 江苏高防服务器哪里买?宿迁BGP、宿迁双线高防服务器的价格全球[VPS测评]
- 向日葵-漏洞科普:海外云服务器三种漏洞修复方法快收藏起来!全球[VPS测评]
- 如何设置必应api 自动推送网站全球[VPS测评]
- JGKVM:1核/512M/30G/600G/30Mbps/洛杉矶CN2全球[VPS测评]
- 弘速科技:香港安畅CN2 GIA/弹性云服务器10元/月,2核1GB/2香港VPS[主机]
- 咖啡主机怎么样?咖啡香港/美国/法国VPS主机价格及配置推荐美国VPS[主机]
- 葫芦云:香港将军澳CN2云服务器24元/月,1核/1GB/25G硬盘/3香港VPS[主机]
- 魔方云cubecloud:香港CN2VPS/美国CN2VPS终身88折/美国VPS[主机]
- 阿里云ecs香港服务器怎么购买?阿里云香港2核8G5M云服务器仅2449香港VPS[主机]
- 桔子数据:1核1GB香港CN2 GIA vps促销28元/月,最高30M香港VPS[主机]
- 恒创科技:香港/美国服务器_最后10天爆款特价,三网强制CN2美国VPS[主机]
转载请注明原文地址:http://140.238.13.167:12355/read-220714.html











