Eslam Zedan
2 Mar 2022
Laravel
Hello,
I want to get the user location (city - country) from his IP address in Laravel so I can store where he logged in
any recommendations?
You can use //ipinfo.io/ to get the location details using the IP address in Laravel you can use it easily using GET request to the endpoint like
//ipinfo.io/[IP_ADDRESS]?token=TOKEN_HERE
so in Laravel you can use $req->ip(); to get the IP address of the requests then using HTTP class you can it the endpoint with GET method so the controller will be like
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Http;
class users_controller extends Controller {
protected function create(Request $req){
$ip = $req->ip();
$res = Http::get('//ipinfo.io/'.$ip.'?token=[YOUR_TOKEN]');
$city = $res['city'];
$country = $res['country'];
return $city .' '. $country;
}
}
Good luck
There are lots of IP API provider services available in the market. You can use any of them, but make sure below things.
Here is the list of popular IP, City, State, Country, and ISP providers:
//ipapi.co/ ←----- Recommended
For laravel code, you can use answer given by Mohamed Atef above.
Hope above given information will help you.
© 2024 Copyrights reserved for web-brackets.com