PHP 快速获取客户端IP地址及ip归属地

男娘i 2023-06-24 12:22 87阅读 0赞

一、获取客户端ip地址

  1. function getClientIp(){
  2. if (getenv("HTTP_CLIENT_IP") && strcasecmp(getenv("HTTP_CLIENT_IP"), "unknown"))
  3. $ip = getenv("HTTP_CLIENT_IP");
  4. else if (getenv("HTTP_X_FORWARDED_FOR") && strcasecmp(getenv("HTTP_X_FORWARDED_FOR"), "unknown"))
  5. $ip = getenv("HTTP_X_FORWARDED_FOR");
  6. else if (getenv("REMOTE_ADDR") && strcasecmp(getenv("REMOTE_ADDR"), "unknown"))
  7. $ip = getenv("REMOTE_ADDR");
  8. else if (isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], "unknown"))
  9. $ip = $_SERVER['REMOTE_ADDR'];
  10. else
  11. $ip = "unknown";
  12. return($ip);
  13. }

二、获取ip归属地

  1. function getIpCity(string $ip = '')
  2. {
  3. // 可以自己找第三方接口,返回数据不一样
  4. $url = "http://whois.pconline.com.cn/ip.jsp?ip=".$ip;
  5. $res = file_get_contents($url);
  6. // 因为这个接口返回的值gb2312编码,且有换行符,所以做以下处理
  7. return preg_replace("/\s/","", iconv("gb2312", "utf-8", $res));
  8. }

发表评论

表情:
评论列表 (有 0 条评论,87人围观)

还没有评论,来说两句吧...

相关阅读

    相关 springboot获取IP归属

    在 Spring Boot 中获取 IP 归属地可以使用第三方 API 来实现。 一种方法是使用网络 API 来查询 IP 地址的归属地。例如,您可以使用淘宝的 IP 地址库

    相关 计算ip地址归属

    在很多场景下我们可能都会遇到根据用户某信息获取其位置信息的徐求,比较常见的可能就是根据ip或电话号码来计算了。这里介绍以ip地址来计算归属地,以具体需求来说明。使用scala语