Laravel 8 Get Country, City & Address From IP Address Tutorial
How to get country name from IP address in Laravel 8. In this tutorial, you will learn how to get country, city and address from ip address in laravel 8 app.
If you are working with laravel app and you may want to fetch user information (country Name, country Code, region Code, region Name, city Name, zip Code, iso Code, postal Code, latitude, longitude, metro Code, metro Code) from ip address in laravel 8 app. So, this tutorial will help you fetch user info from IP it’s ip address.
In this tutorial, we will fetch IP Address using “stevebauman/location” composer package in Laravel 8 app.
Note that, Using this package”stevebauman/location”, you can also get country Name, country Code, region Code, region Name, city Name, zip Code, iso Code, postal Code, latitude, longitude, metro Code, metro Code.
How to get location(county,city address) information from ip address in Laravel
- Step 1 – Install Laravel 8 App
- Step 2 – Connecting App to Database
- Step 3 – Install “stevebauman/location”
- Step 4 – Add Routes
- Step 5 – Create Controller By Command
- Step 6 – Start Development Server
Step 1 – Install Laravel 8 App
In this step, open your terminal execute the following command to install laravel 8 app into your local system or live server:
composer create-project --prefer-dist laravel/laravel blog
Step 2 – Connecting App to Database
In this step, Go to your project root directory, find .env file and add database details as following to connecting app to database:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=here your database name here
DB_USERNAME=here database username here
DB_PASSWORD=here database password here
Step 3 – Install “stevebauman/location”
In this step, execute the following command on terminal to install stevebauman/location package in laravel 8 app:
1 | composer require stevebauman/location |
Then, Go to config directory and open app.php file. And register this package into laravel 8 app by adding the following code into your app.php file:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 'providers' => [ .... Stevebauman\Location\LocationServiceProvider:: class , ], 'aliases' => [ .... 'Location' => 'Stevebauman\Location\Facades\Location' , ] |
After that, execute the following command on terminal to publish config/location.php file:
php artisan vendor:publish
Step 4 – Add Routes
In this step, go to routes folder and open web.php file and add the following routes into your file:
routes/web.php
1 2 3 | use App\Http\Controllers\GeoLocationController; Route::get( 'get-address-from-ip' , [GeoLocationController:: class , 'index' ]); |
Step 5 – Create Controller By Command
Next step, open your command prompt and execute the following command on terminal to create a controller by an artisan:
1 | php artisan make:controller GeoLocationController |
After that, go to app\Http\Controllers
and open GeoLocationController.php file. Then update the following code into your GeoLocationController.php file:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?php namespace App\Http\Controllers; use Illuminate\Http\Request; class GeoLocationController extends Controller { public function index(Request $request ) { $ip = $request ->ip(); $data = \Location::get( $ip ); dd( $data ); } } |
Step 6 – Start Development Server
Now, execute the following command on terminal to start development server:
1 | php artisan serve |
Then open your browser and hit the following url on it:
http://localhost:8000/get-address-from-ip
0 comments:
Post a Comment
Thanks