在php中获取IP地址

air*_*air 0 php

我是这个代码来获取我的locolhost上的IP地址,我得到了

::1
Run Code Online (Sandbox Code Playgroud)

结果

代码是:

function ip()
{
  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'];
  }
  return $ip;            
}

echo ip();
Run Code Online (Sandbox Code Playgroud)

错误在哪里?

实际上,我想在获得IP之后获得国家和城市名称...还有其他解决方案吗?

谢谢

Row*_*haw 7

:: 1是localhost的简写,使用IPv6术语,因此它正在运行.尝试使用您的主机名进行连接,您应该看到地址更改更明显是一个地址...