如何在PHP中仅使用远程地址显示IPv4?

如何在PHP中仅使用远程地址显示IPv4?,php,ip,ipv4,Php,Ip,Ipv4,我对变量有一个问题:$\u SERVER['REMOTE\u ADDR']。 我希望他只恢复IPv4格式的IP地址。 它以IPv6格式提取了我几次 如何做?$\u服务器['REMOTE\u ADDR']始终包含访问者的地址。如果它包含IPv6地址,则访问者使用IPv6,而没有IPv4地址。当然,反之亦然。现在,你必须能够处理这两个问题 有些访问者只有IPv4,有些访问者只有IPv6,有些访问者两者都有。浏览器决定可用的内容和将使用的内容,这就是您将看到的全部内容。请注意,如果同时具有IPv4和I

我对变量有一个问题:
$\u SERVER['REMOTE\u ADDR']
。 我希望他只恢复IPv4格式的IP地址。 它以IPv6格式提取了我几次


如何做?

$\u服务器['REMOTE\u ADDR']
始终包含访问者的地址。如果它包含IPv6地址,则访问者使用IPv6,而没有IPv4地址。当然,反之亦然。现在,你必须能够处理这两个问题


有些访问者只有IPv4,有些访问者只有IPv6,有些访问者两者都有。浏览器决定可用的内容和将使用的内容,这就是您将看到的全部内容。请注意,如果同时具有IPv4和IPv6的浏览器认为需要良好的连接,则可能会在请求之间切换IPv4和IPv6。

如果用户通过IPv6连接到您的站点,则不可能

如果您确实想了解用户的ipv4,可以通过两种方式进行:

a) 删除您域的AAAA记录,这样它将只通过ipv4工作,所有用户将被迫通过ipv4连接。但这是一个糟糕的解决方案,因为没有ipv4连接的只有ipv6的用户将无法访问您的站点

b) 您可以创建一个到另一个只解析为ipv4的域的ajax端点,并从中获取它们的IP