请问下高手们,如何获取并显示局域网用户访问的内部IP地址呢?function   get_client_ip()   
  {   
  if(getenv('HTTP_CLIENT_IP'))   {   
  $client_ip   =   getenv('HTTP_CLIENT_IP');   
  }   elseif(getenv('HTTP_X_FORWARDED_FOR'))   {   
  $client_ip   =   getenv('HTTP_X_FORWARDED_FOR');   
  }   elseif(getenv('REMOTE_ADDR'))   {   
  $client_ip   =   getenv('REMOTE_ADDR');   
  }   else   {   
  $client_ip   =   $HTTP_SERVER_VARS['REMOTE_ADDR'];   
  }   
  return   $client_ip;   
  }   
用了上面的函数显示的ip都是0.0.0.0,这是什么原因?是否局域网ip就不能获取吗?狠困惑,请高人支招!

解决方案 »

  1.   

    用$_SERVER['REMOTE_ADDR']获取的地址也是0.0.0.0,有其他的办法获取吗?
      

  2.   

    用$_SERVER['REMOTE_ADDR']获取的地址也是0.0.0.0,有其他的办法获取吗
    ====================那问题大了,
      

  3.   

    本地显示:127.0.0.1
    远程显示:218.88.1.**完全可以的  <?php
    echo $_SERVER['REMOTE_ADDR'];
    ?>
      

  4.   

    远程是获得不到内网ip的。只能获得外网ip
      

  5.   

    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"; 
    }
      

  6.   

    本机测试正常 IE 7.0 XP SP2