Foros del Web » Programando para Internet » PHP »

Ubicar geográficamente ip con php

Estas en el tema de Ubicar geográficamente ip con php en el foro de PHP en Foros del Web. Hola amigos, no sé si se pueda ubicar geográficamente una ip con php o con cualquier otro tipo de lenguaje como lo hacen algunos sitios ...
  #1 (permalink)  
Antiguo 28/01/2009, 20:06
 
Fecha de Ingreso: enero-2009
Mensajes: 10
Antigüedad: 15 años, 2 meses
Puntos: 0
Ubicar geográficamente ip con php

Hola amigos, no sé si se pueda ubicar geográficamente una ip con php o con cualquier otro tipo de lenguaje como lo hacen algunos sitios como geobytes punto com, pues me interesa que cuando los usuarios de mi sitio ingresen ubicar el estado donde se encuentran para mostrar los banners de publicidad que más convengan para su ubicación.

Gracias.
  #2 (permalink)  
Antiguo 05/02/2009, 10:15
Avatar de lalogrosz  
Fecha de Ingreso: mayo-2002
Ubicación: Capital Federal
Mensajes: 339
Antigüedad: 21 años, 11 meses
Puntos: 6
Respuesta: Ubicar geográficamente ip con php

aca te paso una funcion que te va a servir para esto. Necesitas tener CURL.

Código PHP:
function GetUbicacionesIP($ip){
                                    
            
$archivo_xml "http://api.hostip.info/get_xml.php?ip=".$ip ."";            
            
$ch curl_init();
            
$timeout 0// set to zero for no timeout
            
curl_setopt ($chCURLOPT_URL$archivo_xml);
            
curl_setopt ($chCURLOPT_RETURNTRANSFER1);
            
curl_setopt ($chCURLOPT_CONNECTTIMEOUT$timeout);
            
$procedencia_xml curl_exec($ch);
            
curl_close($ch);
            
            
//$procedencia_xml = file_get_contents($archivo_xml);
        
        
            
if (empty($procedencia_xml)){
                
$array["pais"] = "desconocido";
                
$array["lugar"] = "desconocido";
                
$array["sigla"] = "desconocido";
            }else{
                
preg_match_all("|<Hostip>(.*)</Hostip>|sU"$procedencia_xml$items);
                
$lista_nodos = array();
                foreach (
$items[1] as $key => $item)
                {
                    
preg_match("|<gml:name>(.*)</gml:name>|s"$item$mi_lugar);
                    
preg_match("|<countryName>(.*)</countryName>|s"$item$mi_pais);
                    
preg_match("|<countryAbbrev>(.*)</countryAbbrev>|s"$item$mi_sigla);
                    
                    
$lista_nodos[$key]['mi_lugar'] = $mi_lugar[1];
                    
$lista_nodos[$key]['mi_pais'] = $mi_pais[1];
                    
$lista_nodos[$key]['mi_sigla'] = $mi_sigla[1];
                }
                
                for (
$i 0$i 1$i++)
                {
                    
$array["pais"] = $lista_nodos[$i]['mi_pais'];
                    
$array["lugar"] = $lista_nodos[$i]['mi_lugar'];
                    
$array["sigla"] = $lista_nodos[$i]['mi_sigla'];
                }
                
$procedencia_xml "";
            }
            
            return 
$array;
            
        } 
__________________
"Vivir....solo cuesta Vida"
  #3 (permalink)  
Antiguo 12/02/2009, 10:39
 
Fecha de Ingreso: enero-2009
Mensajes: 10
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Ubicar geográficamente ip con php

Gracias lalogrosz, fue de mucha utilidad, saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 18:48.