View Single Post
Join Date: Jul 2008
Posts: 9
Reputation: kuldeep04 is an unknown quantity at this point 
Solved Threads: 0
kuldeep04's Avatar
kuldeep04 kuldeep04 is offline Offline
Newbie Poster

Re: find county using ip address

 
0
  #4
Aug 8th, 2008
Hi Aatya,

U can use the following function to get the country name from IP address.

  1. function countryCityFromIP($ipAddr)
  2. {
  3. //function to find country and city from IP address
  4. //Developed by Roshan Bhattarai [url]http://roshanbh.com.np[/url]
  5.  
  6. //verify the IP address for the
  7. ip2long($ipAddr)== -1 || ip2long($ipAddr) === false ? trigger_error("Invalid IP", E_USER_ERROR) : "";
  8. $ipDetail=array(); //initialize a blank array
  9.  
  10. //get the XML result from hostip.info
  11. $xml = file_get_contents("http://api.hostip.info/?ip=".$ipAddr);
  12.  
  13. //get the city name inside the node <gml:name> and </gml:name>
  14. preg_match("@<Hostip>(\s)*<gml:name>(.*?)</gml:name>@si",$xml,$match);
  15.  
  16. //assing the city name to the array
  17. $ipDetail['city']=$match[2];
  18.  
  19. //get the country name inside the node <countryName> and </countryName>
  20. preg_match("@<countryName>(.*?)</countryName>@si",$xml,$matches);
  21.  
  22. //assign the country name to the $ipDetail array
  23. $ipDetail['country']=$matches[1];
  24.  
  25. //get the country name inside the node <countryName> and </countryName>
  26. preg_match("@<countryAbbrev>(.*?)</countryAbbrev>@si",$xml,$cc_match);
  27. $ipDetail['country_code']=$cc_match[1]; //assing the country code to array
  28.  
  29. //return the array containing city, country and country code
  30. return $ipDetail;
  31.  
  32. }

plz try it let me know what's result?
Last edited by peter_budo; Aug 8th, 2008 at 6:43 am. Reason: Keep It Organized - please use [code] tags
Kuldeep (KD)
Reply With Quote