有时我们会需要获取客户端的IP,来分析数据什么的,那么调用如下方法就可以获取获取到客户端ip。
/**
* 获取客户端IP
*
* @return string
*/
public static function getIp()
{
static $ip = '';
if (!empty($ip)) return $ip;
if (isset($_SERVER)) {
if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
$ip = $_SERVER['HTTP_CLIENT_IP'];
} else {
if (isset($_SERVER['REMOTE_ADDR'])) {
$ip = $_SERVER['REMOTE_ADDR'];
} else {
$ip = '0.0.0.0';
}
}
} else {
if (getenvar('HTTP_X_FORWARDED_FOR')) {
$ip = getenvar('HTTP_X_FORWARDED_FOR');
} elseif (getenvar('HTTP_CLIENT_IP')) {
$ip = getenvar('HTTP_CLIENT_IP');
} else {
$ip = getenvar('REMOTE_ADDR');
}
}
return $ip;
}
function getenvar ($varname = null, $local_only = false) {}