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

Програмування на 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.

Ікона

ipdetails-20121116.zip
1.77 КБ 6101 завантаження

Autor: Chetan Mendhe
País: India
Update: Лі Тейлор

Про

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, д. 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 o “IP” que se quer obter informações. Нарешті, obtenha a informação desejada fazendo a chamada ao respectivo método.

Приклад

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
    include("class.ipdetails.php");
    $ip = $_SERVER['REMOTE_ADDR'];  
    #$ip = "189.73.71.160";
    $ipdetails = нові ipdetails($ip); 
    $ipdetails->scan();
    Ехо "<b>IP:</b>        ".$ip                        ."<br />"; 
    Ехо "<b>País:</b>      ".$ipdetails->get_country()  ."<br />";
    Ехо "<b>Estado:</b>    ".$ipdetails->get_region()   ."<br />";
    Ехо "<b>Cidade:</b>    ".$ipdetails->get_city()     ."<br />";
    Ехо "<b>Latitude:</b>  ".$ipdetails->get_latitude() ."<br />";
    Ехо "<b>Longitude:</b> ".$ipdetails->get_longitude()."<br />";
    Ехо "<b>Código país:</b> ".$ipdetails->get_countrycode()."<br />";
    Ехо "<b>Código continente:</b> ".$ipdetails->get_continentcode()."<br />";
    Ехо "<b>Código moeda:</b> ".$ipdetails->get_currencycode()."<br />";
    Ехо "<b>Símbolo moeda:</b> ".htmlspecialchars_decode($ipdetails->get_currencysymbol())."<br />";
    Ехо "<b>Cotação moeda (dólar):</b> ".$ipdetails->get_currencyconverter()."<br />";    
?>

Приклад | 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
Усього відвідувань: 14831

12 висловлюється про “Obter localização geográfica de um computador através do IP

  1. Фернандо сказав::

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

    Notice: Use of undefined constant geoplugin_countryNameassumed ‘geoplugin_countryName’ у 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_region’ у 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_city’ у 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_latitude’ у 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’ у 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_countryCode’ у 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’ у 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’ у 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’ у 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’ у C:\xampp\htdocs\sap\class.ipdetails.php on line 239
    Cotação moeda (dólar): 0

    • Фернандо, 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. У всякому разі, 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… Дякую!

  2. GOULART сказав::

    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) Але, conforme alguns posts anteriores a CIDADE e o ESTADO continuam sem aparecer.
    Poderia verificar?
    Aguardo seu retorno – Дякую

  3. Паулу Робсон сказав::

    Дякую за розміщення taylorlopes не перевіряв його ще, але я дякую вам, Хай благословить вас Бог брат

Дати відповідь

На адресу електронної пошти не буде опублікований. Обов'язкові поля помічені *