943,522 Members | Top Members by Rank

Ad:
  • PHP Discussion Thread
  • Unsolved
  • Views: 36142
  • PHP RSS
May 10th, 2006
0

find county using ip address

Expand Post »
$url=$_POST['url'];
$ip = gethostbyname($url);
$long1 = ip2long($ip)

if ($long1 == -1 || $long1 == FALSE)
{ echo 'Invalid IP, please try again';
}
else {

print $url;
echo $ip ?>

bu this code i get ip address but i need the country name aslo with this ip address. is thers any function to get country?
thanks
Similar Threads
Reputation Points: 11
Solved Threads: 0
Junior Poster
aarya is offline Offline
139 posts
since Sep 2005
May 16th, 2006
0

Re: find county using ip address

There is no function that identifies a country using the IP address. You will need to use a GeoIP (also called GeoLocation) database.

There are several freebie GeoIP databases available.
http://www.maxmind.com/app/geoip_country
http://ip-to-country.webhosting.info/
Reputation Points: 15
Solved Threads: 5
Junior Poster in Training
TopDogger is offline Offline
87 posts
since Aug 2005
Apr 25th, 2008
0

Re: find county using ip address

Use <snipped>to get ip to country and other useful information.
Last edited by peter_budo; Apr 26th, 2008 at 8:18 am. Reason: Keep It Spam-Free - Do not spam, advertise, plug your website, or engage in any other type of self promotion.
Reputation Points: 10
Solved Threads: 0
Newbie Poster
attadaved is offline Offline
5 posts
since Oct 2007
Aug 8th, 2008
0

Re: find county using ip address

Hi Aatya,

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

php Syntax (Toggle Plain Text)
  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
Reputation Points: 10
Solved Threads: 0
Newbie Poster
kuldeep04 is offline Offline
9 posts
since Jul 2008
Mar 13th, 2009
0

Re: find county using ip address

Click to Expand / Collapse  Quote originally posted by kuldeep04 ...
Hi Aatya,

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

~~~~~~

plz try it let me know what's result?
Hi kuldeep,

I used your script (with minor modifications - needed only to show the country) and it worked splendid.

thanks pal.
Last edited by Desolator; Mar 13th, 2009 at 11:45 am.
Reputation Points: 10
Solved Threads: 0
Newbie Poster
Desolator is offline Offline
1 posts
since Mar 2009
Oct 19th, 2009
0
Re: find county using ip address
Thanks KULDEEP04 !

I've copied and paste your code, set the Google IP and sure enough while running it, I can display the answer:
City: Mountain View, CA Country UNITED STATES!

That's great, Im going to use your code and leave your reference (URL) in it.
My goal is to record myself from where and when the users hit my pages...

I have a problem..
Maybe you can help me:

To apply this code I must change my pages form ext: .HTML to .PHP:
DO YOU KNOW IF THAT WILL AFFECT the ranking of my pages on search engines?

Gravimotion
Last edited by gravimotion; Oct 19th, 2009 at 11:54 am.
Reputation Points: 10
Solved Threads: 0
Newbie Poster
gravimotion is offline Offline
1 posts
since Oct 2009
Oct 20th, 2009
0
Re: find county using ip address
The file extension will not affect a new site, but it will affect an existing site that has already been indexed. The old page URLs in the search engines will generate 404 status codes (Page Not Found) unless you use a 301 redirect to redirect the old pages to the new pages.

If you leave the file names the same and only change the extensions, you should be able to add the following to the .htaccess file to take care of the redirection. This will only work on an Apache web server.

RewriteRule ^(.*)\.html$ /$1.php [R=301,L]

Test it with a few pages to make sure it is working correctly. If you enter an old URL with the .html extension, you should see it change to the new .php page in your browser's address window.
Last edited by TopDogger; Oct 20th, 2009 at 9:27 am.
Reputation Points: 15
Solved Threads: 5
Junior Poster in Training
TopDogger is offline Offline
87 posts
since Aug 2005

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in PHP Forum Timeline: Dynamic path Function calling Error?
Next Thread in PHP Forum Timeline: if statement inside an echo inside a mysql query result





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC