Leng Feng: どちらの方法も利用できます。最初の方法は組み込みのカール サポートを使用し、2 番目の方法はより一般的です。 2番目のものを使用することをお勧めします。
方法1:カール
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];
}
方法 2: $_SERVER[HTTP_X_FORWARDED_FOR] で対応するアドレスを取得します
function get_onlineip() {
$onlineip = ;
if(getenv(HTTP_CLIENT_IP) && strcasecmp(getenv(HTTP_CLIENT_IP), 不明)) {
$onlineip = getenv(HTTP_CLIENT_IP);
} elseif(getenv( HTTP_X_FORWARDED_FOR) && strcasecmp(getenv(HTTP_X_FORWARDED_FOR), 不明)) {
$onlineip = getenv(HTTP_X_FORWARDED_FOR);
} elseif(getenv(REMOTE_ADDR) && strcasecmp(getenv(REMOTE_ADDR), 不明)) {
$onlineip =環境を取得( REMOTE_ADDR );
} elseif(isset($_SERVER[REMOTE_ADDR]) && $_SERVER[REMOTE_ADDR] && strcasecmp($_SERVER[REMOTE_ADDR], 不明)) {
$onlineip = $_SERVER[REMOTE_ADDR];
}
return $onlineip ;
}
echo get_onlineip();
?>