Home >Backend Development >PHP Tutorial >PHP code to obtain the client's external network/public network IP_PHP tutorial
Leng Feng: Both methods are available. The first one uses the built-in curl support, and the second one is more general. It is recommended to use the second one.
Method 1: curl
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];
}
Method 2: $_SERVER[HTTP_X_FORWARDED_FOR] to get the corresponding address
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) && str casecmp( 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;
}
echo get_onlineip();
?>