php获取用户ip和地区
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php获取用户ip和地区相关的知识,希望对你有一定的参考价值。
php获取用户ip和地区
要求上传到虚拟主机后,能够正确的获取到用户ip和地区
if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown")) $ip = getenv("HTTP_CLIENT_IP");
else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown")) $ip = getenv("HTTP_X_FORWARDED_FOR");
else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown")) $ip = getenv("REMOTE_ADDR");
else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown")) $ip = $_SERVER['REMOTE_ADDR'];
else $ip = "unknown";
return $ip;
使用这个可以获取id,至于要把ip转换从真实地址可以使用新浪有道提供的api或者用本地的QQWry.Dat文件这个文件自己去下载,不过要经常更新追问
用网上所谓的方法,我试了。api不行。php上传到空间之后,网页上获取不到。你何良策?
追答你获取到ip了么
参考技术A 可以获取到ip ,使用$_SERVER['REMOTE_ADDR' ]获取ip,要想获取地区的话,得找到相关的(IP地址库)资料,就可以获取到地区了。地理 IP 和国家/地区/城市数据库
【中文标题】地理 IP 和国家/地区/城市数据库【英文标题】:Geo IP and country/region/city DB 【发布时间】:2014-02-27 17:39:03 【问题描述】:祝你有美好的一天!
您能否告诉我免费准确的多语言数据库(经常更新):
通过IP(来自PHP)定位国家+地区+城市(可能是+时区); 现场建立国家/地区/城市下拉列表(即例如获取 来自 PHP 地区(按国家/地区)和城市(按地区/国家/地区)。的名字 国家/地区/城市必须使用不同的语言。谢谢!
【问题讨论】:
【参考方案1】:MaxMind 的GeoIP2 and GeoLite2 databases 支持多种语言。它们目前包括德语、英语、西班牙语、法语、日语、葡萄牙语、俄语和简体中文。您还可以使用包含的geoname_id
查找位置,使用GeoNames 以获取其他语言的位置名称。
格式还有一个PHP API。
【讨论】:
谢谢,我测试过了。如何“按国家/地区从 PHP 地区和城市按地区/国家/地区获取”?需要“现场建立国家/地区/城市下拉列表”。 对于国家/地区/城市下拉列表,我会向您推荐地理数据源。 (geodatasource.com/software/…) 下拉列表的免费替代数据源是GeoNames。它应该与 MaxMind 数据库很好地集成,因为 MaxMind 将其用作数据源。以上是关于php获取用户ip和地区的主要内容,如果未能解决你的问题,请参考以下文章