Php 我需要创建一个简单的网页,只显示一些人的公共IPV4地址在他们的浏览器窗口

Php 我需要创建一个简单的网页,只显示一些人的公共IPV4地址在他们的浏览器窗口,php,ipv6,ipv4,Php,Ipv6,Ipv4,我想做的是创建一个简单的页面,可能是用php,它只显示IPV4地址 它应该类似于此站点,但不显示仅IPV6和IPV4 这个站点显示了我的IPV6地址,我知道这两个地址都在工作,因为Whatsmyip.com显示了我的IPv4 谢谢大家的帮助 获取访问者/客户端IP地址的最简单方法是使用$\u SERVER['REMOTE\u ADDR']或$\u SERVER['REMOTE\u HOST']变量 但是,有时这不会返回访问者的正确IP地址,因此我们可以使用其他一些服务器变量来获取IP地址 以下两

我想做的是创建一个简单的页面,可能是用php,它只显示IPV4地址

它应该类似于此站点,但不显示仅IPV6和IPV4

这个站点显示了我的IPV6地址,我知道这两个地址都在工作,因为Whatsmyip.com显示了我的IPv4


谢谢大家的帮助

获取访问者/客户端IP地址的最简单方法是使用$\u SERVER['REMOTE\u ADDR']或$\u SERVER['REMOTE\u HOST']变量

但是,有时这不会返回访问者的正确IP地址,因此我们可以使用其他一些服务器变量来获取IP地址

以下两个函数是等效的,只是在检索值的方式和位置上有所不同

getenv用于获取PHP中环境变量的值

// Function to get the client IP address
function get_client_ip() {
    $ipaddress = '';
    if (getenv('HTTP_CLIENT_IP'))
        $ipaddress = getenv('HTTP_CLIENT_IP');
    else if(getenv('HTTP_X_FORWARDED_FOR'))
        $ipaddress = getenv('HTTP_X_FORWARDED_FOR');
    else if(getenv('HTTP_X_FORWARDED'))
        $ipaddress = getenv('HTTP_X_FORWARDED');
    else if(getenv('HTTP_FORWARDED_FOR'))
        $ipaddress = getenv('HTTP_FORWARDED_FOR');
    else if(getenv('HTTP_FORWARDED'))
        $ipaddress = getenv('HTTP_FORWARDED');
    else if(getenv('REMOTE_ADDR'))
        $ipaddress = getenv('REMOTE_ADDR');
    else
        $ipaddress = 'UNKNOWN';
    return $ipaddress;
}
$\u SERVER是一个数组,包含由web服务器创建的服务器变量

// Function to get the client IP address
function get_client_ip() {
    $ipaddress = '';
    if ($_SERVER['HTTP_CLIENT_IP'])
        $ipaddress = $_SERVER['HTTP_CLIENT_IP'];
    else if($_SERVER['HTTP_X_FORWARDED_FOR'])
        $ipaddress = $_SERVER['HTTP_X_FORWARDED_FOR'];
    else if($_SERVER['HTTP_X_FORWARDED'])
        $ipaddress = $_SERVER['HTTP_X_FORWARDED'];
    else if($_SERVER['HTTP_FORWARDED_FOR'])
        $ipaddress = $_SERVER['HTTP_FORWARDED_FOR'];
    else if($_SERVER['HTTP_FORWARDED'])
        $ipaddress = $_SERVER['HTTP_FORWARDED'];
    else if($_SERVER['REMOTE_ADDR'])
        $ipaddress = $_SERVER['REMOTE_ADDR'];
    else
        $ipaddress = 'UNKNOWN';
    return $ipaddress;
}

创建一个ip.php文件并将以下代码放入其中:

<?php
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
  $ip = $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
  $ip = $_SERVER['REMOTE_ADDR'];
}
echo $ip;
我的回答基于对一个类似问题的回答:

我要感谢那些愿意帮助回答问题的人,感谢那些给出评论的人,为什么?我不给一个向下的评论,然后不留下评论,这只是垃圾邮件真的。这是一个简单和完美的答案,我一直在寻找,如果我可以,我会击中向上箭头10次!谢谢谢谢你的帮助,我最终选择了更简短的版本,谢谢你!