Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

php获取ip

作者:花折亦无情   发布日期:2025-09-14   浏览:100

<?php
// 获取客户端IP地址的函数
function get_client_ip() {
    // 检查是否有通过代理服务器传递的IP地址
    if (isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
        // 如果存在多个IP地址,取第一个作为客户端IP
        $ip = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR'])[0];
    } elseif (isset($_SERVER['HTTP_CLIENT_IP'])) {
        // 检查是否有通过代理服务器传递的客户端IP
        $ip = $_SERVER['HTTP_CLIENT_IP'];
    } else {
        // 直接获取客户端IP地址
        $ip = $_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}

// 调用函数并输出IP地址
echo "客户端IP地址是: " . get_client_ip();
?>

解释说明:

  1. $_SERVER['HTTP_X_FORWARDED_FOR']:当客户端通过代理服务器访问时,代理服务器会在请求头中添加 X-Forwarded-For 字段,记录客户端的真实IP地址。
  2. $_SERVER['HTTP_CLIENT_IP']:某些代理服务器可能会使用这个字段来传递客户端IP。
  3. $_SERVER['REMOTE_ADDR']:如果没有通过代理服务器,直接获取客户端的IP地址。
  4. explode():如果有多个IP地址(例如多个代理),我们只取第一个IP地址作为客户端的真实IP。

这段代码可以帮助你准确地获取客户端的IP地址,无论是否经过代理服务器。

上一篇:php数组随机抽取

下一篇:php 字符长度

大家都在看

php session用法

php 定义常量

phpisset函数

php html转图片

php后端

php爬虫框架

php读取csv文件

php 三元表达式

php文件加密

php 判断是否为空

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站