我的IP是61.166.X.X,访问显示211.154.211.221。
你的函数怎么那么写呀?你要象下面这样:<?php  function GetIp()
  {
    return $_SERVER['REMOTE_ADDR'];
  }  $ip = GetIp();  echo $ip;
?>

解决方案 »

  1.   

    $ip = getenv("REMOTE_ADDR");
    echo $ip;
      

  2.   

    再看看这个地址:
    http://www.mwjx.com/getip.php
    现在是真实IP了,不过是下面这样写的,至于'HTTP_X_FORWARDED_FOR'这个是什么我现在还没弄懂,不过能用就行,以后再慢慢找。function getip()
    {
    //$ip=$_SERVER[REMOTE_ADDR];
    //$ip=getenv("remote_addr");
    //$ip = $REMOTE_ADDR; 
    $ip=getenv('REMOTE_ADDR');
    $ip1 = getenv('HTTP_X_FORWARDED_FOR');
    if (($ip1 != "") && ($ip1 != "unknown")) $ip=$ip1;
    return $ip;
    }$ip = getip();
    echo "$ip";
      

  3.   

    HTTP_X_FORWARDED_FOR用来透过代理服务器取得客户端的真实IP 地址,不过要注意的事,并不是每个代理服务器都能用,有些用此方法读取到的仍然是代理服务器的 IP
    还有一点需要注意的是:如果客户端没有通过代理服务器来访问,那么用 getenv('HTTP_X_FORWARDED_FOR');取到的值将是空的所以需要像你代码那样进行判断
      

  4.   

    谢谢化石,那有谁知道为什么我最开始写的得到的是服务器的IP而不是客户端的IP?
    $ip=getenv('REMOTE_ADDR');
    我的主页空间是在虚拟主机上的,域名是在新网的。