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.

Icon

ipdetails-20121116.zip
1.77 KB 6098 downloads

аўтар: Chetan Mendhe
País: India
Update: Тэйлар Lopes

на

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 oIPque se quer obter informações. у рэшце рэшт, 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
    include("class.ipdetails.php");
    $ip = $_SERVER['REMOTE_ADDR'];  
    #$ip = "189.73.71.160";
    $ipdetails = new 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 />";    
?>

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
Усяго доступы: 14829

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_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

    • Фернанда, 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 – дзякуй

пакінуць каментар

Ваш электронны адрас не будзе апублікаваны. Абавязковыя для запаўнення палі пазначаныя *