IP2LocLite
Laravel 4 integration for IP2Location Lite with database support and download., (*1)
You can consider this is Poor Man's IP2Location script where you have everything stored locally
so there is no fear that your 3rd party service would be down., (*2)
You need to create your account on https://www.ip2location.com/
Then provide details inside config for ip2loc-lite.php inside your config dir., (*3)
This script supports only free mySQL database powered search at this point.
Revision one supports only DB3 that has Country Abbreviation code, Country name, State/Region name, City name., (*4)
Future updates will cover other 4 different databases.
Note that there is no information about State/Region Abbreviation code., (*5)
Installation
It can be found on Packagist.
The recommended way is through composer., (*6)
Edit composer.json and add:, (*7)
{
"require": {
"nem-c/ip2loc-lite": "~1.0"
}
}
Find the providers array key in config/app.php and register the Geocoder Service Provider., (*8)
'providers' => array(
// ...
'NemC\IP2LocLite\Providers\IP2LocLiteServiceProvider',
)
Usage
$ php artisan ip2loclite:download-csv
$ php ip2loclite:import-csv
Automate whole process by chaining those 2 commands like, (*9)
$ php artisan ip2loclite:download-csv && php ip2loclite:import-csv
Get information about IP if exists, (*10)
// ...
$geoForIp = IP2LocLite::get('2.16.0.234');
// ...
As result you should have something like, (*11)
/**
* object(stdClass)[521]
* public 'long_from' => int 34603008
* public 'long_to' => int 34603263
* public 'country_iso2' => string 'US' (length=2)
* public 'country_name' => string 'United States' (length=13)
* public 'region_name' => string 'California' (length=10)
* public 'city_name' => string 'Los Angeles' (length=11)
*/
Configuration
Add file name ip2loc-lite.php to app/config and use content below, (*12)
<?php
return [
'username' => '', //your IP2Location account username
'password' => '', //your IP2Location account password
'rememberMe' => 'on',
'database' => 'DB3LITE',
];
License
IP2Location LITE is released under the MIT License. See the bundled
LICENSE
file for details., (*13)