Dobili geografskega območja v računalniku preko IP

PHP programiranje: Če morate ugotoviti, kateri geografski položaj določen IP, tako je bilo enostavno! Com ipdetails você pode obter dados tais como país, Države in mesta.

Ikona

ipdetails-20121116.zip
1.77 KB 6103 prenosi

Avtor: Chetan Mendhe
Države: Indija
Posodobitev: Taylor Lee

O

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 (regija), cidade, código postal, latitude, longitude, código de área, itd. 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. Končno, obtenha a informação desejada fazendo a chamada ao respectivo método.

Primer

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 = nove ipdetails($ip); 
    $ipdetails->scan();
    odmev "<b>IP:</b>        ".$ip                        ."<br />"; 
    odmev "<b>Države:</b>      ".$ipdetails->get_country()  ."<br />";
    odmev "<b>Estado:</b>    ".$ipdetails->get_region()   ."<br />";
    odmev "<b>Cidade:</b>    ".$ipdetails->get_city()     ."<br />";
    odmev "<b>Latitude:</b>  ".$ipdetails->get_latitude() ."<br />";
    odmev "<b>Longitude:</b> ".$ipdetails->get_longitude()."<br />";
    odmev "<b>Código país:</b> ".$ipdetails->get_countrycode()."<br />";
    odmev "<b>Código continente:</b> ".$ipdetails->get_continentcode()."<br />";
    odmev "<b>Código moeda:</b> ".$ipdetails->get_currencycode()."<br />";
    odmev "<b>Símbolo moeda:</b> ".htmlspecialchars_decode($ipdetails->get_currencysymbol())."<br />";
    odmev "<b>Cotação moeda (dólar):</b> ".$ipdetails->get_currencyconverter()."<br />";    
?>

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

IP: 189.73.71.160
Države: 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
Skupaj zadetkov: 14836

12 pripombe na “Dobili geografskega območja v računalniku preko 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 je dejal:

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

    • Oi Alexandre, glej, 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… je dejal!

  2. Fernando je dejal:

    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
    Države:

    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. V vsakem primeru, 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… hvala!

  3. GOULART je dejal:

    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) toda, conforme alguns posts anteriores a CIDADE e o ESTADO continuam sem aparecer.
    Poderia verificar?
    Aguardo seu retorno – hvala

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

pusti odgovor

Na vaš e-poštni naslov ne bo objavljen. Zahtevana polja so označena z *