Obter localização geográfica de um computador através do IP

programación PHP: Se você precisa determinar qual a localização geográfica de um determinado IP, então ficou fácil! Com ipdetails você pode obter dados tais como país, estado e cidade.

icona

ipdetails-20121116.zip
1.77 KB 6101 descargas

autor: Chetan Mendhe
país: India
Update: Taylor Lopes

en

Com a classe ipdetails você pode obter detalhes sobre a origem e localização geográfica de um computador através do seu endereço IP. Dentre as principais informações, temos: Nome do país, o código do país, estado (região), cidade, código postal, latitude, longitude, código de área, etc. Algumas informações não estão disponíveis para o Brasil.

uso

Basta importar a classe class.ipdetails.php e instanciar o objeto da classe passando como parâmetro do construtor oIPque se quer obter informações. Finalmente, obtenha a informação desejada fazendo a chamada ao respectivo método.

exemplo

ipdetails.php | Arquivo criado para demonstração

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
    incluír("class.ipdetails.php");
    $ip = $_SERVER['REMOTE_ADDR'];  
    #$ip = "189.73.71.160";
    $ipdetails = novo ipdetails($ip); 
    $ipdetails->scan();
    eco "<b>IP:</b>        ".$ip                        ."<l />"; 
    eco "<b>país:</b>      ".$ipdetails->get_country()  ."<l />";
    eco "<b>Estado:</b>    ".$ipdetails->get_region()   ."<l />";
    eco "<b>Cidade:</b>    ".$ipdetails->get_city()     ."<l />";
    eco "<b>Latitude:</b>  ".$ipdetails->get_latitude() ."<l />";
    eco "<b>Longitude:</b> ".$ipdetails->get_longitude()."<l />";
    eco "<b>Código país:</b> ".$ipdetails->get_countrycode()."<l />";
    eco "<b>Código continente:</b> ".$ipdetails->get_continentcode()."<l />";
    eco "<b>Código moeda:</b> ".$ipdetails->get_currencycode()."<l />";
    eco "<b>Símbolo moeda:</b> ".htmlspecialchars_decode($ipdetails->get_currencysymbol())."<l />";
    eco "<b>Cotação moeda (dólar):</b> ".$ipdetails->get_currencyconverter()."<l />";    
?>

exemplo | O exemplo acima resultará na seguinte saída

IP: 189.73.71.160
país: Brazil
Estado: Santa Catarina
Cidade: Blumenau
Latitude: -26.933300018311
Longitude: -49.049999237061
Código país: BR
Código continente: SA
Código moeda: BRL
Símbolo moeda: R $
Cotação moeda (dólar): 1.8889999377
Total de accesos: 14831

12 Comentarios sobre “Obter localização geográfica de um computador através do IP

    • É verdade, deixou de funcionar. Mas atualizei o código-fonte utilizando outro servidor, inclusive com algumas opções a mais, conforme exemplo acima. É só baixar novamente e testar! Obrigado por avisarT+

  1. Fernando dixo:

    Continua dando erro quando testo no servidor PHP os arquivos disponiveis:

    Notice: Use of undefined constant geoplugin_countryNameassumed ‘geoplugin_countryNamein C:\xampp\htdocs\sap\class.ipdetails.php on line 116

    Notice: Undefined index: geoplugin_countryName in C:\xampp\htdocs\sap\class.ipdetails.php on line 116
    país:

    Notice: Use of undefined constant geoplugin_regionassumed ‘geoplugin_regionin C:\xampp\htdocs\sap\class.ipdetails.php on line 126

    Notice: Undefined index: geoplugin_region in C:\xampp\htdocs\sap\class.ipdetails.php on line 126
    Estado:

    Notice: Use of undefined constant geoplugin_cityassumed ‘geoplugin_cityin C:\xampp\htdocs\sap\class.ipdetails.php on line 136

    Notice: Undefined index: geoplugin_city in C:\xampp\htdocs\sap\class.ipdetails.php on line 136
    Cidade:

    Notice: Use of undefined constant geoplugin_latitudeassumed ‘geoplugin_latitudein C:\xampp\htdocs\sap\class.ipdetails.php on line 156

    Notice: Undefined index: geoplugin_latitude in C:\xampp\htdocs\sap\class.ipdetails.php on line 156
    Latitude:

    Notice: Use of undefined constant geoplugin_longitudeassumed ‘geoplugin_longitudein C:\xampp\htdocs\sap\class.ipdetails.php on line 166

    Notice: Undefined index: geoplugin_longitude in C:\xampp\htdocs\sap\class.ipdetails.php on line 166
    Longitude:

    Notice: Use of undefined constant geoplugin_countryCodeassumed ‘geoplugin_countryCodein C:\xampp\htdocs\sap\class.ipdetails.php on line 96

    Notice: Undefined index: geoplugin_countryCode in C:\xampp\htdocs\sap\class.ipdetails.php on line 96
    Código país:

    Notice: Use of undefined constant geoplugin_continentCodeassumed ‘geoplugin_continentCodein C:\xampp\htdocs\sap\class.ipdetails.php on line 195

    Notice: Undefined index: geoplugin_continentCode in C:\xampp\htdocs\sap\class.ipdetails.php on line 195
    Código continente:

    Notice: Use of undefined constant geoplugin_currencyCodeassumed ‘geoplugin_currencyCodein C:\xampp\htdocs\sap\class.ipdetails.php on line 221

    Notice: Undefined index: geoplugin_currencyCode in C:\xampp\htdocs\sap\class.ipdetails.php on line 221
    Código moeda:

    Notice: Use of undefined constant geoplugin_currencySymbolassumed ‘geoplugin_currencySymbolin C:\xampp\htdocs\sap\class.ipdetails.php on line 230

    Notice: Undefined index: geoplugin_currencySymbol in C:\xampp\htdocs\sap\class.ipdetails.php on line 230
    Símbolo moeda:

    Notice: Use of undefined constant geoplugin_currencyConverterassumed ‘geoplugin_currencyConverterin C:\xampp\htdocs\sap\class.ipdetails.php on line 239
    Cotação moeda (dólar): 0

    • Fernando, obrigado por avisar. Na verdade o código estava funcionando corretamente, só que como faltava aspas nas chaves de alguns arrays, então estava sujeito mostrar um aviso (notice) dependendo da sua configuração de erros no php.ini. Em todo caso, fiz a devida correção. O que você deve atentar também é que a variável $ip precisa receber um IP válido na Internet. Se você rodar o código do arquivoexample.phpna sua máquina local (localhost) sem colocar um IP válido, logicamente $ip = $_SERVER[‘REMOTE_ADDR’] irá pegar seu IP local 127.0.0.1 e não irá funcionar. Favor baixar novamente os arquivos que postei e faça bom uso… valeu!

  2. GOULART dixo:

    Prezado Taylor,
    Apesar do script ser de 2011, só hoje resolvi colocá-lo em processo.
    Ates de qqr coisa gostaria de agradecer sua ajuda e dizer que fiz o download da última versão (http://www.geoplugin.net) mas, conforme alguns posts anteriores a CIDADE e o ESTADO continuam sem aparecer.
    Poderia verificar?
    Aguardo seu retorno – Grazas

    • De fato, dependendo do IP oGeopluginnão retorna a cidade e estado. Infelizmente eu precisaria encontrar um webserver free para resolver isto. A maioria dos Geolocator confiáveis cobram uma taxa mensal para entregar estas informações.

Deixe unha resposta

O seu enderezo de correo-e non será publicado. Os campos obrigatorios están marcados con *