如何获取在我的网站上发帖的用户的地理区域并将其存储在数据库中[关闭]
Posted
技术标签:
【中文标题】如何获取在我的网站上发帖的用户的地理区域并将其存储在数据库中[关闭]【英文标题】:How can I grab the geographical area of a user who is posting on my site and store it in a database [closed] 【发布时间】:2012-06-26 10:40:48 【问题描述】:我想知道可以让我在某人访问我的网站时获取他的实际地址的代码。现在我的代码是用于获取 IP 地址。 波纹管是我希望有人给我一个工作人员滚动我所拥有的代码
$ip=$_SERVER['REMOTE_ADDR'];
【问题讨论】:
What have you tried. GeoIP 位置检测可能会有所帮助。我已经用地理位置标记了您的问题。 你可以使用免费的maxmind API,它根据IP地址检查位置,去看看。 fields for security table 的可能重复项 - 请不要重复但要编辑问题。如果问题已关闭,则可以重新打开。 【参考方案1】:你需要获取ip。
在 php 中使用这个 sn-p:
function GetUserIp()
$ip = "";
if(isset($_SERVER))
if (!empty($_SERVER['HTTP_CLIENT_IP']))
$ip=$_SERVER['HTTP_CLIENT_IP'];
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
else $ip=$_SERVER['REMOTE_ADDR'];
else if ( getenv( 'HTTP_CLIENT_IP' ) )
$ip = getenv( 'HTTP_CLIENT_IP' );
elseif ( getenv( 'HTTP_X_FORWARDED_FOR' ) )
$ip = getenv( 'HTTP_X_FORWARDED_FOR' );
else $ip = getenv( 'REMOTE_ADDR' );
if(strstr($ip,','))
$ip = array_shift(explode(',',$ip));
return $ip;
一旦获得 IP,您必须与列表 ip-locations 进行比较才能获得位置。要获取此列表,请尝试 google。
【讨论】:
【参考方案2】:使用
获取您的用户 IP 地址$ip = $_SERVER["REMOTE_ADDR"];
那么最好的方法是使用 GeoIP 网络服务。您还可以使用本地 GeoIP 数据库。 ip2location 运行着一项已经存在很长时间的此类服务,您可以找到大多数流行语言的 api。
现代浏览器让您选择发送位置,但这是可选的,您的用户可能经常禁用。
【讨论】:
感谢大家的帮助,我将从那里开始以上是关于如何获取在我的网站上发帖的用户的地理区域并将其存储在数据库中[关闭]的主要内容,如果未能解决你的问题,请参考以下文章
如何从多个网站数据库中获取数据并将其显示在主网站中? [关闭]