Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php $服务器[';远程地址';]的问题;_Php - Fatal编程技术网

Php $服务器[';远程地址';]的问题;

Php $服务器[';远程地址';]的问题;,php,Php,目前,我正试图将我的客户端IP地址存储在视图中,这比预期的要复杂得多 这是我目前使用的代码 <?php $ip = $_SERVER['REMOTE_ADDR']; print $_SERVER['REMOTE_ADDR']; $details = json_decode(file_get_contents("http://ipinfo.io/{$ip}/json")); $location = $details->country; print

目前,我正试图将我的客户端IP地址存储在视图中,这比预期的要复杂得多

这是我目前使用的代码

<?php
    $ip = $_SERVER['REMOTE_ADDR'];
    print $_SERVER['REMOTE_ADDR'];
    $details = json_decode(file_get_contents("http://ipinfo.io/{$ip}/json"));
    $location = $details->country;
    print '<br>';
    print $details->country;
    print '<br>';
    print $details->city;
?>
此IP和此位置链接回cloudflare服务器,而不是我的实际IP地址

您可以在这里看到这些信息cf-173-245-56-104.cloudflare.com

然而,当我的朋友访问同一个url时,该url包含假定要提供IP的文档,它会为他们提供一个不同的IP,该IP也连接到CloudFlare

示例1如下所示

199.27.128.244
SG
Singapore
哪个链接到此cloudflare主机名cf-199-27-128-244.cloudflare.com

通过一个简单的查找,您可以看到它甚至没有提供正确的地理位置,因此出于我希望使用此代码的原因,如果它说美国用户来自新加坡或其他国家,那么它甚至是不可行的


所以问题是,我怎样才能在访问时获得真实的客户端IP地址?

@Matt非常感谢你!!
199.27.128.244
SG
Singapore