geo-IP

Requests a geo-IP-server to check, returns where an IP is located (host, state, country, town).

 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.netip.desearch?query='.$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: (.*?) #i';
               $patterns["country"] = '#Country: (.*?) #i';
               $patterns["state"] = '#StateRegion: (.*?) $pattern)
               {
                       store the result in array
                       $ipInfo[$key] = preg_match($pattern,$response,$value) && !empty($value[1]) ? $value[1] : 'not found';
               }

               return $ipInfo;
       }

?>