✅ Notícias, temas e plug-ins da WEB e do WordPress. Aqui compartilhamos dicas e as melhores soluções para sites.

Como obter geolocalização de IP em PHP

974

Você está procurando uma maneira de obter a geolocalização do usuário a partir do endereço IP em PHP? Usando a geolocalização, você saberia onde os visitantes do seu site estão localizados. Ele pode ser usado para o propósito do público-alvo. Com base na localização do usuário, você pode mostrar o conteúdo relevante para ele.

Sabemos para localizar a posição do usuário HTML5 Geolocation API está disponível. Mas essa API funciona com base em permissão. Ele abre um usuário e pede suas permissões, então só funciona.

Para superar esta situação, existe um serviço disponível que é o ipstack. Neste artigo, estudamos como obter geolocalização de IP em PHP usando o serviço ipstack.

Obtenha uma chave de API

Para começar, você precisa primeiro se inscrever no ipstack. O ipstack fornece diferentes níveis de serviços, desde o nível gratuito até o nível empresarial. Se você estiver usando este serviço pela primeira vez, recomendamos que você escolha planos gratuitos primeiro. No momento em que escrevo este artigo, o serviço gratuito permite 10.000 solicitações por mês. Isso significa que você pode verificar a geolocalização de 10000 IPs gratuitamente todos os meses.

Depois de se registrar no ipstack, você obterá sua chave de acesso. Essa chave é necessária quando faremos uma chamada de API para ipstack.

Abaixo está a captura de tela do seu painel ipstack onde você pode copiar a chave de acesso.

Como obter geolocalização de IP em PHP

Obtenha geolocalização de IP em PHP

Neste ponto, criamos uma conta com ipstack e obtivemos nossa chave de acesso. Agora podemos começar a usar seu serviço e obter geolocalização do endereço IP. Como precisamos fazer uma chamada de API para ipstack, usaríamos PHP cURL para fazer uma chamada de API. O usuário também pode usar Guzzle em vez de cURL.

Digamos que precisamos encontrar a geolocalização de um IP ‘103.47.153.189’. Então, vamos escrever o código para ele conforme abaixo.

<?php
// set API Access Key
$access_key = 'YOUR_ACCESS_KEY';
 
// set phone number
$ip_address = '103.47.153.189';
 
// Initialize CURL:
$ch = curl_init('http://api.ipstack.com/'. $ip_address .'?access_key='. $access_key);  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
 
// Store the data:
$json = curl_exec($ch);
curl_close($ch);
?>

Em troca, você receberá uma resposta como:

{  
   "ip":"103.47.153.189",
   "type":"ipv4",
   "continent_code":"AS",
   "continent_name":"Asia",
   "country_code":"IN",
   "country_name":"India",
   "region_code":"MH",
   "region_name":"Maharashtra",
   "city":"Pune",
   "zip":"411001",
   "latitude":18.5333,
   "longitude":73.8667,
   "location":{  
      "geoname_id":1259229,
      "capital":"New Delhi",
      "languages":[  
         {  
            "code":"hi",
            "name":"Hindi",
            "native":"u0939u093fu0928u094du0926u0940"
         },
         {  
            "code":"en",
            "name":"English",
            "native":"English"
         }
      ],
      "country_flag":"http://assets.ipstack.com/flags/in.svg",
      "country_flag_emoji":"ud83cuddeeud83cuddf3",
      "country_flag_emoji_unicode":"U+1F1EE U+1F1F3",
      "calling_code":"91",
      "is_eu":false
   }
}

Você pode ver quantas informações podemos obter apenas enviando um endereço IP. Estamos quase obtendo todas as informações de que precisamos do IP. Um usuário também pode enviar vários IPs separados por vírgula.

Esperamos que você possa aprender como obter Geolocalização de IP em PHP. Gostaríamos de ouvir sua opinião na seção de comentários abaixo.

Artigos relacionados

Fonte de gravação: artisansweb.net

Este site usa cookies para melhorar sua experiência. Presumiremos que você está ok com isso, mas você pode cancelar, se desejar. Aceitar Consulte Mais informação