关于PHP获取客户端IP

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支持都可以不显示这个。
部署之后会显示正常。
*/

你可能感兴趣的:(关于PHP获取客户端IP)