教程
PHP获取用户ip地址
612

本篇文章主要介绍PHP获取ip地址的方法,感兴趣的朋友参考下,我的是 Typecho 博客系统,可以在 functions.php 中添加方法,最后在想显示的位置调用 <?php echo getip();?> 方法即可。

代码截图

代码食用

    function getip() {
  static $ip = '';
  $ip = $_SERVER['REMOTE_ADDR'];
  if(isset($_SERVER['HTTP_CDN_SRC_IP'])) {
    $ip = $_SERVER['HTTP_CDN_SRC_IP'];
  } elseif (isset($_SERVER['HTTP_CLIENT_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CLIENT_IP'])) {
    $ip = $_SERVER['HTTP_CLIENT_IP'];
  } elseif(isset($_SERVER['HTTP_X_FORWARDED_FOR']) AND preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches)) {
    foreach ($matches[0] AS $xip) {
      if (!preg_match('#^(10|172\.16|192\.168)\.#', $xip)) {
        $ip = $xip;
        break;
      }
    }
  }
  return $ip;
}

结语

感谢访问强仔博客,希望对大家有所帮助。

end
  • 上一篇
  • 下一篇
  • 添加评论
    评论(4)
    test
    test

    100.64.0.0--100.127.255.255也是内网地址段

    强仔
    Q
    强仔
    شىانه
    شىانه

    ipv6有办法吗

    强仔
    Q
    强仔
    welcome to qiangzai blog