Package Data | |
---|---|
Maintainer Username: | nem-c |
Maintainer Contact: | me@nemc.io (Nem C) |
Package Create Date: | 2015-03-31 |
Package Last Update: | 2015-04-06 |
Language: | PHP |
License: | MIT |
Last Refreshed: | 2024-11-22 03:03:10 |
Package Statistics | |
---|---|
Total Downloads: | 103 |
Monthly Downloads: | 2 |
Daily Downloads: | 1 |
Total Stars: | 0 |
Total Watchers: | 1 |
Total Forks: | 1 |
Total Open Issues: | 2 |
Laravel 4 integration for IP2Location Lite with database support and download.
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.
You need to create your account on https://www.ip2location.com/ Then provide details inside config for ip2loc-lite.php inside your config dir.
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.
Future updates will cover other 4 different databases. Note that there is no information about State/Region Abbreviation code.
It can be found on Packagist. The recommended way is through composer.
Edit composer.json
and add:
{
"require": {
"nem-c/ip2loc-lite": "~1.0"
}
}
Find the providers
array key in config/app.php
and register the Geocoder Service Provider.
'providers' => array(
// ...
'NemC\IP2LocLite\Providers\IP2LocLiteServiceProvider',
)
$ php artisan ip2loclite:download-csv
$ php ip2loclite:import-csv
Automate whole process by chaining those 2 commands like
$ php artisan ip2loclite:download-csv && php ip2loclite:import-csv
Get information about IP if exists
// ...
$geoForIp = IP2LocLite::get('2.16.0.234');
// ...
As result you should have something like
/**
* 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)
*/
Add file name ip2loc-lite.php to app/config and use content below
<?php
return [
'username' => '', //your IP2Location account username
'password' => '', //your IP2Location account password
'rememberMe' => 'on',
'database' => 'DB3LITE',
];
IP2Location LITE is released under the MIT License. See the bundled LICENSE file for details.