Heim >Backend-Entwicklung >PHP-Tutorial >php怎么获取用户ip地址?

php怎么获取用户ip地址?

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

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn