PHP获取客户端IP,
使用的是$_SERVER[”REMOTE_ADDR’]
put_file_contents("./1.txt", var_export($_SERVER)); //
//获取用户IP地址(客户端IP)
public function getIp()
{
if(!empty($_SERVER["HTTP_CLIENT_IP"]))
{
$cip = $_SERVER["HTTP_CLIENT_IP"];
}
else if(!empty($_SERVER["HTTP_X_FORWARDED_FOR"]))
{
$cip = $_SERVER["HTTP_X_FORWARDED_FOR"];
}
else if(!empty($_SERVER["REMOTE_ADDR"]))
{
$cip = $_SERVER["REMOTE_ADDR"];
}
else
{
$cip = '';
}
preg_match("/[\d\.]{7,15}/", $cip, $cips);
$cip = isset($cips[0]) ? $cips[0] : 'unknown';
unset($cips);
return $cip;
}
$this->getIp(); //调用
/*
php $_SERVER["REMOTE_ADDR"]输出ip为::1
原因:
::1说明你的电脑开启了ipv6支持,这是ipv6下的本地回环地址的表示。
因为你访问的时候用的是localhost访问的,是正常情况。
使用ip地址访问或者关闭ipv6支持都可以不显示这个。
部署之后会显示正常。
*/
网友评论