• 技术文章 >后端开发 >PHP问题

    php怎么实现ip收集

    藏色散人藏色散人2021-12-22 10:12:40原创710

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

    php入门到就业线上直播课:进入学习

    本文操作环境: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视频教程

    以上就是php怎么实现ip收集的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:php ip
    上一篇:linux 下怎么搭建php环境 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• 查看本机ip地址用什么命令• PHP根据IP地址实现城市切换或跳转• ip地址与网络上的其他系统有冲突怎么办• php 如何将ip地址转换成真实地址代码
    1/1

    PHP中文网