首页后端开发PHP用PHP如何实现获取IP地址,你知道哪些方法?

用PHP如何实现获取IP地址,你知道哪些方法?

时间2024-03-25 08:48:03发布访客分类PHP浏览1449
导读:这篇文章给大家分享的是用PHP实现获取IP地址的方法。本文整理了一些常见的方法,一共有六个方法,文中的示例代码介绍得很详细,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。 本文操作环境:Windows7系统,PHP7.1版,Dell...

这篇文章给大家分享的是用PHP实现获取IP地址的方法。本文整理了一些常见的方法,一共有六个方法,文中的示例代码介绍得很详细,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。

本文操作环境: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实现获取IP地址的方法就介绍到这,上述示例具有一定的借鉴价值,感兴趣的朋友可以参考,希望能对大家有帮助,想要了解更多,大家可以关注网络其它的相关文章。

文本转载自PHP中文网

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 用PHP如何实现获取IP地址,你知道哪些方法?
本文地址: https://pptw.com/jishu/652669.html
PHP用linux还是win,如何选择合适? Linux中搭建PHP环境的方法过程是什么?

游客 回复需填写必要信息