>백엔드 개발 >PHP 튜토리얼 >php怎么获取用户ip地址?

php怎么获取用户ip地址?

PHPz
PHPz원래의
2016-06-13 11:12:302547검색

php怎么获取用户ip地址?

IP地址: Internet协议地址(IP地址)是分配给连接到使用Internet协议进行通信的计算机网络的每个设备的数字标签。IP地址有两个主要功能:主机或网络接口标识和位置寻址。

php怎么获取用户ip地址?

  • $_SERVER['REMOTE_ADDR']:浏览当前页面的用户计算机的ip地址

  • $_SERVER['HTTP_CLIENT_IP']:客户端的ip

  • $_SERVER['HTTP_X_FORWARDED_FOR']:浏览当前页面的用户计算机的网关

  • $_SERVER['HTTP_X_REAL_IP']:nginx 代理模式下,获取客户端真实IP

PHP获取ip代码如下:

public function ip() {
    //strcasecmp 比较两个字符,不区分大小写。返回0,>0,<0。
    if(getenv(&#39;HTTP_CLIENT_IP&#39;) && strcasecmp(getenv(&#39;HTTP_CLIENT_IP&#39;), &#39;unknown&#39;)) {
        $ip = getenv(&#39;HTTP_CLIENT_IP&#39;);
    } elseif(getenv(&#39;HTTP_X_FORWARDED_FOR&#39;) && strcasecmp(getenv(&#39;HTTP_X_FORWARDED_FOR&#39;), &#39;unknown&#39;)) {
        $ip = getenv(&#39;HTTP_X_FORWARDED_FOR&#39;);
    } elseif(getenv(&#39;REMOTE_ADDR&#39;) && strcasecmp(getenv(&#39;REMOTE_ADDR&#39;), &#39;unknown&#39;)) {
        $ip = getenv(&#39;REMOTE_ADDR&#39;);
    } elseif(isset($_SERVER[&#39;REMOTE_ADDR&#39;]) && $_SERVER[&#39;REMOTE_ADDR&#39;] && strcasecmp($_SERVER[&#39;REMOTE_ADDR&#39;], &#39;unknown&#39;)) {
        $ip = $_SERVER[&#39;REMOTE_ADDR&#39;];
    }
    $res =  preg_match ( &#39;/[\d\.]{7,15}/&#39;, $ip, $matches ) ? $matches [0] : &#39;&#39;;
    echo $res;
    //dump(phpinfo());//所有PHP配置信息
}

更多相关知识,请访问 PHP中文网!!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.