Hur får jag Geolocation från IP i PHP
Letar du efter ett sätt att hämta användarens Geolocation från IP-adress i PHP? Med hjälp av Geolocation skulle du veta var dina webbplatsbesökare finns. Den kan användas för målgruppens syfte. Baserat på användarens plats kan du visa relevant innehåll för dem.
Vi vet att lokalisera användarens position HTML5 Geolocation API är tillgängligt. Men detta API fungerar med tillståndsbasis. Det popups en användare och ber om deras behörigheter då bara det fungerar.
För att övervinna denna situation finns det en tjänst som är ipstack. I den här artikeln studerar vi hur man får Geolocation från IP i PHP med ipstack-tjänsten.
Skaffa en API-nyckel
För att komma igång måste du först registrera dig på ipstack. ipstack tillhandahåller olika nivåer av tjänster som sträcker sig från gratis till företagsnivå. Om du använder den här tjänsten första gången rekommenderar vi att du går gratisplaner först. När denna artikel skrivs tillåter gratis tjänst 10000 förfrågningar per månad. Det betyder att du kan kontrollera 10000 IP: s Geolocation gratis varje månad.
När du registrerat dig hos ipstack får du din åtkomstnyckel. Denna nyckel krävs när vi ger ett API-samtal till ipstack.
Nedan är skärmdumpen av din ipstack-instrumentpanel där du kan kopiera åtkomstnyckeln.
Få Geolocation från IP i PHP
Vid den här tiden har vi skapat ett konto med ipstack och vi har vår åtkomstnyckel. Nu kan vi börja använda deras tjänst och få Geolocation från IP-adress. Eftersom vi behöver ge ett API-samtal till ipstack skulle vi använda PHP cURL för att ge ett API-samtal. Användaren kan också använda Guzzle istället för cURL.
Låt oss säga att vi måste hitta Geolocation av en IP ‘103.47.153.189’. Så vi skriver koden för det enligt nedan.
<?php
// set API Access Key
$access_key = 'YOUR_ACCESS_KEY';
// set phone number
$ip_address = '103.47.153.189';
// Initialize CURL:
$ch = curl_init('http://api.ipstack.com/'. $ip_address .'?access_key='. $access_key);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
// Store the data:
$json = curl_exec($ch);
curl_close($ch);
?>
I gengäld får du svar som:
{
"ip":"103.47.153.189",
"type":"ipv4",
"continent_code":"AS",
"continent_name":"Asia",
"country_code":"IN",
"country_name":"India",
"region_code":"MH",
"region_name":"Maharashtra",
"city":"Pune",
"zip":"411001",
"latitude":18.5333,
"longitude":73.8667,
"location":{
"geoname_id":1259229,
"capital":"New Delhi",
"languages":[
{
"code":"hi",
"name":"Hindi",
"native":"u0939u093fu0928u094du0926u0940"
},
{
"code":"en",
"name":"English",
"native":"English"
}
],
"country_flag":"http://assets.ipstack.com/flags/in.svg",
"country_flag_emoji":"ud83cuddeeud83cuddf3",
"country_flag_emoji_unicode":"U+1F1EE U+1F1F3",
"calling_code":"91",
"is_eu":false
}
}
Du kan se hur mycket information vi kan få genom att bara skicka en IP-adress. Vi får nästan all information man kan behöva från IP. En användare kan också skicka flera IP-adresser med kommaseparerade.
Vi hoppas att du kan lära dig hur du får Geolocation från IP i PHP. Vi vill höra dina tankar i kommentarsektionen nedan.
relaterade artiklar
- Hitta Geolocation med IP-adress gratis i PHP
- mailboxlayer – Ett gratis och kraftfullt API för att kontrollera om e-post är giltig (riktig e-post)
- Kickbox – Ett e-postverifieringsbibliotek i realtid för PHP