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

PHP-programmering: 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.

Ikonen

ipdetails-20121116.zip
1.77 KB 6103 nedladdningar

Författare: Chetan Mendhe
Land: India
Update: Taylor Lee

Om

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.

Användning

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

Exempel

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
    inkluderar("class.ipdetails.php");
    $ip = $_SERVER['REMOTE_ADDR'];  
    #$ip = "189.73.71.160";
    $ipdetails = nya ipdetails($ip); 
    $ipdetails->scan();
    ECHO "<b>IP:</b>        ".$ip                        ."<Br />"; 
    ECHO "<b>Land:</b>      ".$ipdetails->get_country()  ."<Br />";
    ECHO "<b>Staten:</b>    ".$ipdetails->get_region()   ."<Br />";
    ECHO "<b>City:</b>    ".$ipdetails->get_city()     ."<Br />";
    ECHO "<b>Latitude:</b>  ".$ipdetails->get_latitude() ."<Br />";
    ECHO "<b>Longitud:</b> ".$ipdetails->get_longitude()."<Br />";
    ECHO "<b>Código país:</b> ".$ipdetails->get_countrycode()."<Br />";
    ECHO "<b>Código continente:</b> ".$ipdetails->get_continentcode()."<Br />";
    ECHO "<b>Código moeda:</b> ".$ipdetails->get_currencycode()."<Br />";
    ECHO "<b>Símbolo moeda:</b> ".htmlspecialchars_decode($ipdetails->get_currencysymbol())."<Br />";
    ECHO "<b>Cotação moeda (dólar):</b> ".$ipdetails->get_currencyconverter()."<Br />";    
?>

Exempel | Exemplet ovan kommer att resultera i följande utdata

IP: 189.73.71.160
Land: Brazil
Staten: Santa Catarina
City: Blumenau
Latitude: -26.933300018311
Longitud: -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
Totalt antal träffar: 14836

12 kommentarer till “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 avisar… T +

  1. Alexandre Correa sade:

    Muito bom o código, gratulationer!
    Fiz alguns testes e em alguns casos não mostrou o Estado, você saberia dizer o porque?

    • Oi Alexandre, olha, eu fiz algumas adaptações no código-fonte original, pois havia parado de funcionar. Agora estou obtendo dados de outro servidor, que é o http://www.geoplugin.net/. Você poderia fazer um teste direto lá para checar essa falha e postar aqui, se quiser… Inlägg!

  2. Fernando sade:

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

    Notice: Use of undefined constant geoplugin_countryNameassumed ‘geoplugin_countryName’ i 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
    Land:

    Notice: Use of undefined constant geoplugin_regionassumed ‘geoplugin_region’ i 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
    Staten:

    Notice: Use of undefined constant geoplugin_cityassumed ‘geoplugin_city’ i 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
    City:

    Notice: Use of undefined constant geoplugin_latitudeassumed ‘geoplugin_latitude’ i 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_longitude’ i 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
    Longitud:

    Notice: Use of undefined constant geoplugin_countryCodeassumed ‘geoplugin_countryCode’ i 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_continentCode’ i 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_currencyCode’ i 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_currencySymbol’ i 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_currencyConverter’ i 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. I alla fall, 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… Tack!

  3. GOULART sade:

    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 – Tack

    • 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.

Lämna svar

I din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *