是上边这种样式的,
我取出来的咋
127.0.0.1这种的呐,不要这种的高手指点哈~~~在线等待

解决方案 »

  1.   

    echo $_SERVER['REMOTE_ADDR']具体google。
      

  2.   

    当用户登陆时,设置$_SERVER['REMOTE_ADDR'].获得用户的$_SERVER['REMOTE_ADDR'].print_r $_SERVER['REMOTE_ADDR'];$_SERVER是个Array(); 你打印出来不就OK了.
      

  3.   

    function clientIP()
    {
        if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
            $onlineip = getenv('HTTP_CLIENT_IP');
        } elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
            $onlineip = getenv('HTTP_X_FORWARDED_FOR');
        } elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
            $onlineip = getenv('REMOTE_ADDR');
        } elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
            $onlineip = $_SERVER['REMOTE_ADDR'];
        }
        preg_match("/[\d\.]{7,15}/", $onlineip, $onlineipmatches);
        $onlineip = $onlineipmatches[0] ? $onlineipmatches[0] : 'unknown';
        unset($onlineipmatches);
        return $onlineip;
    }
      

  4.   


    <?php
    function convertip_full($ip, $ipdatafile) { if(!$fd = @fopen($ipdatafile, 'rb')) {
    return '- Invalid IP data file';
    } $ip = explode('.', $ip);
    $ipNum = $ip[0] * 16777216 + $ip[1] * 65536 + $ip[2] * 256 + $ip[3]; if(!($DataBegin = fread($fd, 4)) || !($DataEnd = fread($fd, 4)) ) return;
    @$ipbegin = implode('', unpack('L', $DataBegin));
    if($ipbegin < 0) $ipbegin += pow(2, 32);
    @$ipend = implode('', unpack('L', $DataEnd));
    if($ipend < 0) $ipend += pow(2, 32);
    $ipAllNum = ($ipend - $ipbegin) / 7 + 1;
    $BeginNum = $ip2num = $ip1num = 0;
    $ipAddr1 = $ipAddr2 = '';
    $EndNum = $ipAllNum; while($ip1num > $ipNum || $ip2num < $ipNum) {
    $Middle= intval(($EndNum + $BeginNum) / 2); fseek($fd, $ipbegin + 7 * $Middle);
    $ipData1 = fread($fd, 4);
    if(strlen($ipData1) < 4) {
    fclose($fd);
    return '- System Error';
    }
    $ip1num = implode('', unpack('L', $ipData1));
    if($ip1num < 0) $ip1num += pow(2, 32); if($ip1num > $ipNum) {
    $EndNum = $Middle;
    continue;
    } $DataSeek = fread($fd, 3);
    if(strlen($DataSeek) < 3) {
    fclose($fd);
    return '- System Error';
    }
    $DataSeek = implode('', unpack('L', $DataSeek.chr(0)));
    fseek($fd, $DataSeek);
    $ipData2 = fread($fd, 4);
    if(strlen($ipData2) < 4) {
    fclose($fd);
    return '- System Error';
    }
    $ip2num = implode('', unpack('L', $ipData2));
    if($ip2num < 0) $ip2num += pow(2, 32); if($ip2num < $ipNum) {
    if($Middle == $BeginNum) {
    fclose($fd);
    return '- Unknown';
    }
    $BeginNum = $Middle;
    }
    } $ipFlag = fread($fd, 1);
    if($ipFlag == chr(1)) {
    $ipSeek = fread($fd, 3);
    if(strlen($ipSeek) < 3) {
    fclose($fd);
    return '- System Error';
    }
    $ipSeek = implode('', unpack('L', $ipSeek.chr(0)));
    fseek($fd, $ipSeek);
    $ipFlag = fread($fd, 1);
    } if($ipFlag == chr(2)) {
    $AddrSeek = fread($fd, 3);
    if(strlen($AddrSeek) < 3) {
    fclose($fd);
    return '- System Error';
    }
    $ipFlag = fread($fd, 1);
    if($ipFlag == chr(2)) {
    $AddrSeek2 = fread($fd, 3);
    if(strlen($AddrSeek2) < 3) {
    fclose($fd);
    return '- System Error';
    }
    $AddrSeek2 = implode('', unpack('L', $AddrSeek2.chr(0)));
    fseek($fd, $AddrSeek2);
    } else {
    fseek($fd, -1, SEEK_CUR);
    } while(($char = fread($fd, 1)) != chr(0))
    $ipAddr2 .= $char; $AddrSeek = implode('', unpack('L', $AddrSeek.chr(0)));
    fseek($fd, $AddrSeek); while(($char = fread($fd, 1)) != chr(0))
    $ipAddr1 .= $char;
    } else {
    fseek($fd, -1, SEEK_CUR);
    while(($char = fread($fd, 1)) != chr(0))
    $ipAddr1 .= $char; $ipFlag = fread($fd, 1);
    if($ipFlag == chr(2)) {
    $AddrSeek2 = fread($fd, 3);
    if(strlen($AddrSeek2) < 3) {
    fclose($fd);
    return '- System Error';
    }
    $AddrSeek2 = implode('', unpack('L', $AddrSeek2.chr(0)));
    fseek($fd, $AddrSeek2);
    } else {
    fseek($fd, -1, SEEK_CUR);
    }
    while(($char = fread($fd, 1)) != chr(0))
    $ipAddr2 .= $char;
    }
    fclose($fd); if(preg_match('/http/i', $ipAddr2)) {
    $ipAddr2 = '';
    }
    $ipaddr = "$ipAddr1 $ipAddr2";
    $ipaddr = preg_replace('/CZ88\.NET/is', '', $ipaddr);
    $ipaddr = preg_replace('/^\s*/is', '', $ipaddr);
    $ipaddr = preg_replace('/\s*$/is', '', $ipaddr);
    if(preg_match('/http/i', $ipaddr) || $ipaddr == '') {
    $ipaddr = '- Unknown';
    } return $ipaddr;}
    ?>
    以上是 DZ 代码中的 查询IP地址的,数据库文件为纯真IP data
    去 cz88.net 可下