Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Jair Humberto

Localização do IP

Recommended Posts

Olá pessoal,

 

Temos um site, que tem um CMS (Administrador de Conteúdo). Nesse sistema tenho uma parte dedicada a estatísticas, onde quero

disponibilizar um mapa mostrando os pontos ao redor do mundo de onde vieram os acessos ao site. Igual ao que o Google Analicts faz.

 

Fiz algumas pesquisas pela Internet e o melhor resultado que tive, pesquisando por "ip to country", foi o site maxmind.

Lá, existe um banco de dados livre para esse tipo de estatística, onde teoricamente, eu posso encontrar minha localização,

com latitude e longitude, através do ip.

 

No site tem uma demonstração, eu digitei o meu IP e realmente encontrou a minha localização. Então fiz download do banco

de dados, mas não consigo encontrar a localização para o meu IP, no entanto a versão demo online conseguia,

 

o link para baixar o banco é: http://geolite.maxmind.com/download/geoip/database/GeoLiteCity_CSV/

Eu baixei a versão mais recente, que, até a presente data, é a de Abril de 2011.

 

alguém poderia me ajudar nessa?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ele disponibilizou um codigo de API?

Você terá que fazer um codigo com query da consulta. Não sei como é a database, mas é algo parecido com isso:

 

<?php
define('DB_HOST', 'localhost');
define('DB_USER', 'root');
define('DB_PASSWORD', 'vertrigo');
define('DB_DATABASE', 'test');
$link = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
$qry = "SELECT * FROM GeoLiteCity WHERE ip=".$_SERVER["REMOTE_ADDR"];
$result = mysql_query($qry);
$consulta = mysql_fetch_assoc($result);
$loc = $consulta[paiz];
switch ($loc){
// JOGUE UM LOOP PARA CADA PAIZ.
case "Brazil":
header("Location: Brazillian'sPage.php");
break;
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Sr.hehehe,

 

O banco de dados não é apenas de paises. é de coordenadas.

e as localidades possuem faixas de ips, e não apenas um.

 

Eu importei os dados para o mysql, executei uma consulta,

usando ip2long(meuip) e trouxe nenhum resultado,

 

mas no site trazia, alguém já usou esse database e/ou saberia

me informar o que pode estar acontecendo?

 

vou postar o código abaixo:

 

$addr = $_POST["addr"];
$result = $conexao->query(
   sprintf(
       '
           SELECT country, region, city, latitude, longitude FROM location INNER JOIN faixa ON
               faixa.locId = location.locId
           WHERE startipnum <= %1$u AND endipnum >= %1$u
       ', ip2long($addr)
   )
);
$registro = $result->fetch_object(); // Não trás resultado algum.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.