Ciao,

cerco di modificare questo script http://stackoverflow.com/questions/7...ip-address-php

la cosa che non va è che http://www.netip.de/search?query= non restituisce un trace IP preciso... se si prova con IP italiani non restituisce tutti i valori.....

allora ho inserito questo link al posto di quello orginale http://www.ip-tracker.org/ip-to-location.php?ip= che è più preciso.. solo che non riesco a prendere i valori... chi mi saprebbe indicare se è una cosa fattibile?

grazie di seguito lo script incriminato...


<?php
$ip=' IP da trovare la localizzazione';
print_r(geoCheckIP($ip));
//Array ( [domain] => dslb-094-219-040-096.pools.arcor-ip.net [country] => DE - Germany [state] => Hessen [town] => Erzhausen )


//Get an array with geoip-infodata
function geoCheckIP($ip)
{
//check, if the provided ip is valid
if(!filter_var($ip, FILTER_VALIDATE_IP))
{
throw new InvalidArgumentException("IP is not valid");
}


//contact ip-server
$response=@file_get_contents('http://www.ip-tracker.org/ip-to-location.php?ip='.$ip);
if (empty($response))
{
throw new InvalidArgumentException("Error contacting Geo-IP-Server");
}


//Array containing all regex-patterns necessary to extract ip-geoinfo from page
$patterns=array();
$patterns["domain"] = '#Domain: (.*?)&nbsp;#i';
$patterns["country"] = '#Country: (.*?)&nbsp;#i';
$patterns["state"] = '#State/Region: (.*?)<br#i';
$patterns["town"] = '#City: (.*?)<br#i';


//Array where results will be stored
$ipInfo=array();


//check response from ipserver for above patterns
foreach ($patterns as $key => $pattern)
{
//store the result in array
$ipInfo[$key] = preg_match($pattern,$response,$value) && !empty($value[1]) ? $value[1] : 'not found';
}


return $ipInfo;
}


?>