PHP获取IPV6并存到数据库
第一步:在数据添加一个字段 类型 varchar() 长度50
第二步:定义函数(仅限PHP5.6)
function get_ip()
{
static $ip = NULL;
if($ip !== NULL){return $ip;}
if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
$ip = getenv('HTTP_CLIENT_IP');
}
elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')){
$ip = getenv('HTTP_X_FORWARDED_FOR');
}
elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')){
$ip = getenv('REMOTE_ADDR');
}
elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')){
$ip = $_SERVER['REMOTE_ADDR'];
}
return (substr_count($ip, ':') > 1 && false !== filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV6)) || false !== filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4) ? $ip : '0.0.0.0';
}然后调用 get_ip() 这个函数就可以了