$_SERVER["REMOTE_ADDR"]
这个变量是读取访客ip的变量

解决方案 »

  1.   

    <?
    $ip=$_SERVER[REMOTE_ADDR];
    echo $ip;
    ?>
      

  2.   

    在数据库中建立一个字段用来保存ip地址,这个字段的值用$_SERVER["REMOTE_ADDR"]来取得。然后像普通字段一样显示就行了。
      

  3.   

    Further complicating the debate about getting someone's ip, I should note that getenv() doesn't exist in ISAPI mode. However, the $_SERVER array exists even in ISAPI mode if PHP is 4.1.0 or over. So, in order to accomodate ISAPI mode, you can get IPs like this:function getip() {
    if ($_SERVER) {
    if ( $_SERVER[HTTP_X_FORWARDED_FOR] ) {
    $realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
    } elseif ( $_SERVER["HTTP_CLIENT_ip"] ) {
    $realip = $_SERVER["HTTP_CLIENT_ip"];
    } else {
    $realip = $_SERVER["REMOTE_ADDR"];
    }} else {
    if ( getenv( 'HTTP_X_FORWARDED_FOR' ) ) {
    $realip = getenv( 'HTTP_X_FORWARDED_FOR' );
    } elseif ( getenv( 'HTTP_CLIENT_ip' ) ) {
    $realip = getenv( 'HTTP_CLIENT_ip' );
    } else {
    $realip = getenv( 'REMOTE_ADDR' );
    }
    }
    return $realip; 
    }If you're running ISAPI mode below PHP 4.1.0, you'd have to modify this to use the array $HTTP_SERVER_VARS, but those cases will be few indeed.
    nielsvanhove dot N dot O dot S dot P dot A dot M at hotmail dot com
    16-Apr-2002 07:22 Some improvements of the script from above:
    function getip() {
    if (isSet($_SERVER)) {
    if (isSet($_SERVER["HTTP_X_FORWARDED_FOR"])) {
    $realip = $_SERVER["HTTP_X_FORWARDED_FOR"];
    } elseif (isSet($_SERVER["HTTP_CLIENT_ip"])) {
    $realip = $_SERVER["HTTP_CLIENT_ip"];
    } else {
    $realip = $_SERVER["REMOTE_ADDR"];
    }} else {
    if ( getenv( 'HTTP_X_FORWARDED_FOR' ) ) {
    $realip = getenv( 'HTTP_X_FORWARDED_FOR' );
    } elseif ( getenv( 'HTTP_CLIENT_ip' ) ) {
    $realip = getenv( 'HTTP_CLIENT_ip' );
    } else {
    $realip = getenv( 'REMOTE_ADDR' );
    }
    }
    return $realip; 
    }
      

  4.   

    function getClientIp($AiType=0){
    $sMac = "";
    $ip= getenv("REMOTE_ADDR"); 
    $ip1 = getenv("HTTP_X_FORWARDED_FOR"); 
    $ip2 = getenv("HTTP_CLIENT_IP"); 
    ($ip1) ? $ip = $ip1 : null; 
    ($ip2) ? $ip = $ip2 : null; 
    if ($AiType > 1)
    {
    $sCmd = "arp $ip";
    echo $sCmd;
    $sString = shell_exec($sCmd);
    for($iCount=0;$iCount<10;$iCount++)
    $sString=str_replace("  "," ",$sString);
    $aTemp = split(" ",$sString);
    $sMac = trim($aTemp[count($aTemp)-3]);
    }
    switch($AiType)
    {
    case 0:
    $sResult = "";
    break;
    case 1:
    $sResult = $ip;
    break;
    case 2:
    $sResult = $sMac;
    break;
    case 3:
    $sResult = $ip . " " . $sMac;
    break;
    default:
    $sResult = "";
    break;
    }
    return $sResult;
    }在linux上执行的得到IP和mac的函数
      

  5.   

    function getClientIp($AiType=0){
    $sMac = "";
    $ip= getenv("REMOTE_ADDR"); 
    $ip1 = getenv("HTTP_X_FORWARDED_FOR"); 
    $ip2 = getenv("HTTP_CLIENT_IP"); 
    ($ip1) ? $ip = $ip1 : null; 
    ($ip2) ? $ip = $ip2 : null; 
    if ($AiType > 1)
    {
    $sCmd = "arp $ip";
    echo $sCmd;
    $sString = shell_exec($sCmd);
    for($iCount=0;$iCount<10;$iCount++)
    $sString=str_replace("  "," ",$sString);
    $aTemp = split(" ",$sString);
    $sMac = trim($aTemp[count($aTemp)-3]);
    }
    switch($AiType)
    {
    case 0:
    $sResult = "";
    break;
    case 1:
    $sResult = $ip;
    break;
    case 2:
    $sResult = $sMac;
    break;
    case 3:
    $sResult = $ip . " " . $sMac;
    break;
    default:
    $sResult = "";
    break;
    }
    return $sResult;
    }在linux上执行的得到IP和mac的函数