在PHP中按IP地址获取国家

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在PHP中按IP地址获取国家相关的知识,希望对你有一定的参考价值。

This simple function allows you to getect a country code and city of your site visitors, using the www.geoplugin.net service. You may use this data to add default values in registration form or use it for any other purposes, like blocking access to your site from special regions.
  1. <?php
  2. function getLocationInfoByIp(){
  3. $client = @$_SERVER['HTTP_CLIENT_IP'];
  4. $forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
  5. $remote = @$_SERVER['REMOTE_ADDR'];
  6. $result = array('country'=>'', 'city'=>'');
  7. if(filter_var($client, FILTER_VALIDATE_IP)){
  8. $ip = $client;
  9. }elseif(filter_var($forward, FILTER_VALIDATE_IP)){
  10. $ip = $forward;
  11. }else{
  12. $ip = $remote;
  13. }
  14. $ip_data = @json_decode
  15. (file_get_contents("http://www.geoplugin.net/json.gp?ip=".$ip));
  16. if($ip_data && $ip_data->geoplugin_countryName != null){
  17. $result['country'] = $ip_data->geoplugin_countryCode;
  18. $result['city'] = $ip_data->geoplugin_city;
  19. }
  20. return $result;
  21. }
  22. ?>

以上是关于在PHP中按IP地址获取国家的主要内容,如果未能解决你的问题,请参考以下文章

如何在php中使用ip地址获取移动国家代码

如何使用geoplugin在php中获取国家名称?

借助设备 IP 地址获取国家代码

获取当前国家与ip地址

如何通过IP地址获取国家代码和货币代码? [关闭]

从 IP 地址获取城市