网站地图    收藏   

主页 > php专栏 > php函数大全 >

php判断用户ip是否在同一网段或同一局域网实例

来源:自学PHP网    时间:2014-11-25 00:26 作者: 阅读:

[导读] 原理根据用户给出的ip,再获取当前IP然后转换成数字型的,根据IP,a,b,c类进行计算,根据进行对比就OK,代码如下:$start=ipToInt(#39;192.168.1.110#39;);$end=ipToInt(#39;192.168.0.1#39;);$ipInt......

php判断用户ip是否在同一网段或同一局域网实例

原理根据用户给出的ip,再获取当前IP然后转换成数字型的,根据IP,a,b,c类进行计算,根据进行对比就OK,代码如下:

  1. $start =ipToInt('192.168.1.110'); 
  2.  $end = ipToInt('192.168.0.1'); 
  3.  $ipInt = ipToInt( get() ); 
  4.  $result = false; 
  5.  if ($ipInt>=$start && $ipInt<=$end) { 
  6.    $result = true; 
  7.  } 
  8.  
  9.  if$result ) 
  10.  { 
  11.   echo '在同一网段'
  12.  } 
  13.  else 
  14.  {//开源代码phpfensi.com 
  15.   echo '不在同一网段'
  16.  }  
  17.  
  18.  
  19.  //不在同一网段 
  20.  
  21.  /* 
  22.   * IP转成整形数值 
  23.   * @param string $ip IP 
  24.   * @return int 
  25.   */ 
  26.  
  27.  function ipToInt($ip) { 
  28.   $ips教程 = explode('.',$ip); 
  29.   if (count($ips)>=4) { 
  30.    $int = $ips[0]*256*256*256+$ips[1]*256*256+$ips[2]*256+$ips[3];//根据IP,a,b,c类进行计算 
  31.   } else { 
  32.    throw new Exception('ip is error'); 
  33.   } 
  34.   return $int
  35.  }  
  36.  
  37.  
  38.  /* 
  39.  * 获取用户IP地址 192.68.0.110 
  40.  */ 
  41.  
  42.  function get() { 
  43.   if ($_SERVER['HTTP_CLIENT_IP'] && $_SERVER['HTTP_CLIENT_IP']!='unknown') { 
  44.    $ip = $_SERVER['HTTP_CLIENT_IP']; 
  45.   } elseif ($_SERVER['HTTP_X_FORWARDED_FOR'] && $_SERVER['HTTP_X_FORWARDED_FOR']!='unknown') { 
  46.    $ip = $_SERVER['HTTP_X_FORWARDED_FOR']; 
  47.   } else { 
  48.    $ip = $_SERVER['REMOTE_ADDR']; 
  49.   } 
  50.   return $ip
  51.  } 

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论