$_SERVER['REMOTE_ADDR'],还有找个ip地址的数据库配合得到用户所在地区 :)
但有时候直接用会有问题,写了个函数,得到用户真实IP,做参考:
<? function iptype1 () { if (getenv("HTTP_CLIENT_IP")) {    return getenv("HTTP_CLIENT_IP"); } else {    return "none"; } } function iptype2 () { if (getenv("HTTP_X_FORWARDED_FOR")) {    return getenv("HTTP_X_FORWARDED_FOR"); } else {    return "none"; } } function iptype3 () { if (getenv("REMOTE_ADDR")) {    return getenv("REMOTE_ADDR"); } else {    return "none"; } } function ip() { $ip1 = iptype1();   $ip2 = iptype2(); $ip3 = iptype3(); if (isset($ip1) && $ip1 != "none" && $ip1 != "unknown") {    return $ip1; } elseif (isset($ip2) && $ip2 != "none" && $ip2 != "unknown") {    return $ip2; } elseif (isset($ip3) && $ip3 != "none" && $ip3 != "unknown") {    return $ip3; }     else {   return "none"; } }  Echo ip(); ?> 

解决方案 »

  1.   

    呵呵,上面兄弟的代码实现了功能,不过太复杂了~~~~~
    看下面的:/*
    函数名称:get_client_ip()
    函数作用:获取客户端访问的IP
    参    数:无参数
    返 回 值:返回获取到的客户端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
    print get_client_ip();