微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php怎么实现ip收集

PHP实现获取ip的方法:1、使用“$_SERVER[REMOTE_ADDR]”获取;2、使用“($user_IP) ? $user_IP : $_SERVER[REMOTE_ADDR]”获取;3、使用getRealIp方法获取等。

本文操作环境:Windows7系统,PHP7.1版,Dell G3电脑。

PHP怎么实现ip收集?

PHP获取访问者IP地址汇总

在很我的时候我们需要得到用户真实IP地址,例如,日志记录,地理定位,将用户信息,网站数据分析等,其实获取IP地址很简单$_SERVER[\'REMOTE_ADDR\']就可以了。

下面我们就来给大家汇总一下常用的几种获取IP地址的方法

//方法1:

$ip = $_SERVER[REMOTE_ADDR];
echo $ip;

//方法2:

代码如下:

$user_IP = ($_SERVER[HTTP_VIA]) ? $_SERVER[HTTP_X_FORWARDED_FOR] : $_SERVER[REMOTE_ADDR];
$user_IP = ($user_IP) ? $user_IP : $_SERVER[REMOTE_ADDR];
echo $user_IP;

//方法3:

function getRealIp()
{
  $ip=false;
  if(!empty($_SERVER[HTTP_CLIENT_IP])){
    $ip = $_SERVER[HTTP_CLIENT_IP];
  }
  if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
    $ips = explode (, , $_SERVER['HTTP_X_FORWARDED_FOR']);
    if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
    for ($i = 0; $i < count($ips); $i++) {
      if (!eregi (^(10│172.16│192.168)., $ips[$i])) {
        $ip = $ips[$i];
        break;
      }
    }
  }
  return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}
echo getRealIp();

//方法4:

if ($HTTP_SERVER_VARS[HTTP_X_FORWARDED_FOR])
{
  $ip = $HTTP_SERVER_VARS[HTTP_X_FORWARDED_FOR];
}
elseif ($HTTP_SERVER_VARS[HTTP_CLIENT_IP])
{
  $ip = $HTTP_SERVER_VARS[HTTP_CLIENT_IP];
}
elseif ($HTTP_SERVER_VARS[REMOTE_ADDR])
{
  $ip = $HTTP_SERVER_VARS[REMOTE_ADDR];
}
elseif (getenv(HTTP_X_FORWARDED_FOR))
{
  $ip = getenv(HTTP_X_FORWARDED_FOR);
}
elseif (getenv(HTTP_CLIENT_IP))
{
  $ip = getenv(HTTP_CLIENT_IP);
}
elseif (getenv(REMOTE_ADDR))
{
  $ip = getenv(REMOTE_ADDR);
}
else
{
  $ip = UnkNown;
}
echo $ip ;

//方法5:

if(getenv('HTTP_CLIENT_IP')) {
  $onlineip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR')) {
  $onlineip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR')) {
  $onlineip = getenv('REMOTE_ADDR');
} else {
  $onlineip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
}
echo $onlineip;

//方法6:

print 您的IP地址是:;
 
 
if(!empty($_SERVER[HTTP_CLIENT_IP])){
 $cip = $_SERVER[HTTP_CLIENT_IP];
}
elseif(!empty($_SERVER[HTTP_X_FORWARDED_FOR])){
 $cip = $_SERVER[HTTP_X_FORWARDED_FOR];
}
elseif(!empty($_SERVER[REMOTE_ADDR])){
 $cip = $_SERVER[REMOTE_ADDR];
}
else{
 $cip = 无法获取!;
}
print $cip;

推荐学习:《PHP教程

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐