首页 > Web开发 > 详细

PHP获取客户端IP返回运营商信息函数

时间:2020-02-13 00:17:15      阅读:130      评论:0      收藏:0      [点我收藏+]

    需求:根据客户端返回ip,并且转化成运营商信息及IP所在的地区

   函数如下:

    

function real_ip()
{
  $ip = $_SERVER[‘REMOTE_ADDR‘];
  if (isset($_SERVER[‘HTTP_X_FORWARDED_FOR‘]) && 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;
      }
    }
  } 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_CF_CONNECTING_IP‘]) && preg_match(‘/^([0-9]{1,3}\.){3}[0-9]{1,3}$/‘, $_SERVER[‘HTTP_CF_CONNECTING_IP‘])) {
    $ip = $_SERVER[‘HTTP_CF_CONNECTING_IP‘];
  } elseif (isset($_SERVER[‘HTTP_X_REAL_IP‘]) && preg_match(‘/^([0-9]{1,3}\.){3}[0-9]{1,3}$/‘, $_SERVER[‘HTTP_X_REAL_IP‘])) {
    $ip = $_SERVER[‘HTTP_X_REAL_IP‘];
  }
  return $ip;
} 

  然后在前端调用即可,效果如下:

   技术分享图片

 

 

  演示地址:http://www.sdfymj.com/

 

PHP获取客户端IP返回运营商信息函数

原文:https://www.cnblogs.com/68xi/p/12301861.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!