您的位置:首页 > 编程语言 > PHP开发

PHP获取访问者IP

2014-05-05 11:13 316 查看
方法一:$_SERVER['HTTP_X_FORWARDED_FOR']来获取相应的地址

[php] view
plaincopy

function get_onlineip() {  

    $onlineip = '';  

    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'];  

    }  

    return $onlineip;  

}  

方法二:利用curl依靠第三方来获取,如http://www.ip138.com/ip2city.asp

[php] view
plaincopy

function get_onlineip() {  

    $ch = curl_init('http://www.ip138.com/ip2city.asp');  

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);  

    $a  = curl_exec($ch);  

    preg_match('/\[(.*)\]/', $a, $ip);  

    return $ip[1];  

 }  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: