Rumah >pembangunan bahagian belakang >tutorial php >php怎么获取用户ip地址?

php怎么获取用户ip地址?

PHPz
PHPzasal
2016-06-13 11:12:302548semak imbas

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

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn