This post explains you, how to get the geographic location of a IP address from http://freegeoip.net API
geoIPLocation.php
<?php /* Online PHP Examples with Source Code website: http://4evertutorials.blogspot.in/ */ class geoIPLocation{ public $Ip = '0.0.0.0'; public $CountryCode = ''; public $CountryName = ''; public $RegionCode = ''; public $RegionName = ''; public $City = ''; public $ZipCode = ''; public $Latitude = ''; public $Longitude = ''; public $MetroCode = ''; public $AreaCode = ''; public function getgeoIPLocation($ip = 0){ if($ip){ $url = 'http://freegeoip.net/xml/'.$ip; } else { $url = 'http://freegeoip.net/xml/'; } $postdata = http_build_query( // just incase we later need to post parameters ); $opts = array('http' => array( 'method' => 'POST', 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => $postdata ) ); try{ $context = stream_context_create($opts); $result = file_get_contents($url, false, $context); if(!$result){ throw new Exception('Could not get a response from freegeoip.net'); return false; } else { self::pickDataFromXML($result); } } catch (Exception $e){ echo 'Caught exception: '. $e->getMessage(); } return true; } public function pickDataFromXML($file){ $HisVurderingNum = 0; $SalgsPriserNum = 0; $XMLFile = ''; $success = 0; try{ $XMLFile = simplexml_load_string($file); if(!$XMLFile){ throw new Exception('Could not load XML file!'); } else { $this->Ip = $XMLFile->Ip; $this->CountryCode = $XMLFile->CountryCode; $this->CountryName = $XMLFile->CountryName; $this->RegionCode = $XMLFile->RegionCode; $this->RegionName = $XMLFile->RegionName; $this->City = $XMLFile->City; $this->ZipCode = $XMLFile->ZipCode; $this->Latitude = $XMLFile->Latitude; $this->Longitude = $XMLFile->Longitude; $this->MetroCode = $XMLFile->MetroCode; $this->AreaCode = $XMLFile->AreaCode; $success = 1; unlink($XMLFile); } } catch (Exception $e){ echo 'Caught exception: '. $e->getMessage(); } return $success; } } ?>
usage of script
example 1 : Using your local IP
<?php /* Online PHP Examples with Source Code website: http://4evertutorials.blogspot.in/ */ include("geoIPLocation.php"); $geoIPLocation = new geoIPLocation(); $geoIPLocation->getgeoIPLocation($_SERVER['REMOTE_ADDR']); echo $geoIPLocation->Ip.' '; echo $geoIPLocation->CountryCode.' '; echo $geoIPLocation->CountryName.' '; echo $geoIPLocation->RegionCode.' '; echo $geoIPLocation->RegionName.' '; echo $geoIPLocation->City.' '; echo $geoIPLocation->ZipCode.' '; echo $geoIPLocation->Latitude.' '; echo $geoIPLocation->Longitude.' '; echo $geoIPLocation->MetroCode.' '; echo $geoIPLocation->AreaCode.' '; ?>
example 2 : Find the proper IP
<?php /* Online PHP Examples with Source Code website: http://4evertutorials.blogspot.in/ */ include("geoIPLocation.php"); $geoIPLocation->getgeoIPLocation(); echo $geoIPLocation->Ip.' '; echo $geoIPLocation->CountryCode.' '; echo $geoIPLocation->CountryName.' '; echo $geoIPLocation->RegionCode.' '; echo $geoIPLocation->RegionName.' '; echo $geoIPLocation->City.' '; echo $geoIPLocation->ZipCode.' '; echo $geoIPLocation->Latitude.' '; echo $geoIPLocation->Longitude.' '; echo $geoIPLocation->MetroCode.' '; echo $geoIPLocation->AreaCode.' '; ?>
0 comments:
Post a Comment