PHP获取访问者IP地址的二种方法

发布时间:2020-01-04编辑:脚本学堂
本文分享下,在php编程中,取得访问者Ip地址的二种方法及实例,有兴趣的朋友参考学习下。

本节内容:
PHP获取访问者IP地址

方法一:$_SERVER['HTTP_X_FORWARDED_FOR']来获取相应的地址
 

复制代码 代码示例:
<?php
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']; 
    }  // www.jb200.com
    return $onlineip; 

 

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

复制代码 代码示例:
<?php
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]; 
 }