Home >Backend Development >PHP Tutorial >php怎么获取用户ip地址?

php怎么获取用户ip地址?

PHPz
PHPzOriginal
2016-06-13 11:12:302554browse

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中文网!!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn