CakePHP Plugin

IP2Location CakePHP plugin enables the user to find the country, region, city, coordinates, zip code, time zone, ISP, domain name, connection type, area code, weather, MCC, MNC, mobile brand name, elevation and usage type that any IP address or hostname originates from. It has been optimized for speed and memory utilization. Developers can use the API to query all IP2Location BIN databases for applications written using CakePHP.

GitHub Repository: https://github.com/ip2location/ip2location-cakephp

 

Installation
  1. Copy the IP2Location folder to app/Plugin.
  2. Add "CakePlugin::load('IP2Location');" to the last line of "app/Config/bootstrap.php"
  3. Download IP2Location BIN database
  4. Unzip and copy the BIN file into app/Plugin/IP2Location/data folder.
  5. Rename the BIN file to IP2LOCATION.BIN.

Note: The plugin has included an old BIN database for your testing and development. You may want to download a latest copy of BIN database as the URL stated above.

 

Sample Codes
App::uses('IP2LocationCore', 'IP2Location.Model');
$IP2Location = new IP2LocationCore();
$record = $IP2Location->get($this->request->clientIp());

echo 'IP Address: ' . $record->ipAddress . '
'; echo 'IP Number: ' . $record->ipNumber . '
'; echo 'ISO Country Code: ' . $record->countryCode . '
'; echo 'Country Name: ' . $record->countryName . '
'; echo 'Region Name: ' . $record->regionName . '
'; echo 'City Name: ' . $record->cityName . '
'; echo 'Latitude: ' . $record->latitude . '
'; echo 'Longitude: ' . $record->longitude . '
'; echo 'ZIP Code: ' . $record->zipCode . '
'; echo 'Time Zone: ' . $record->timeZone . '
'; echo 'ISP Name: ' . $record->isp . '
'; echo 'Domain Name: ' . $record->domainName . '
'; echo 'Net Speed: ' . $record->netSpeed . '
'; echo 'IDD Code: ' . $record->iddCode . '
'; echo 'Area Code: ' . $record->areaCode . '
'; echo 'Weather Station Code: ' . $record->weatherStationCode . '
'; echo 'Weather Station Name: ' . $record->weatherStationName . '
'; echo 'MCC: ' . $record->mcc . '
'; echo 'MNC: ' . $record->mnc . '
'; echo 'Mobile Carrier Name: ' . $record->mobileCarrierName . '
'; echo 'Elevation: ' . $record->elevation . '
'; echo 'Usage Type: ' . $record->usageType . '
';

 

Sample IP2Location Databases (BIN)

The following evaluation copy of the database file has limited range of IP address information compare to commercial. For evaluation purpose, you can query IP addresses from 0.0.0.0-99.255.255.255 (IPv4) or 2A04:0:0:0:0:0:0:0-2A04:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF:FFFF (IPv6).

Sample Packages IPv4 IPv6
IP2Location DB1 Sample Bin File469.88 kB73.62 kB
IP2Location DB2 Sample Bin File38.56 MB98.25 kB
IP2Location DB3 Sample Bin File18.59 MB83.64 kB
IP2Location DB4 Sample Bin File55.23 MB106.02 kB
IP2Location DB5 Sample Bin File29.55 MB89.62 kB
IP2Location DB6 Sample Bin File66.06 MB109.74 kB
IP2Location DB7 Sample Bin File61.18 MB115.26 kB
IP2Location DB8 Sample Bin File72.27 MB119.08 kB
IP2Location DB9 Sample Bin File34.62 MB91.86 kB
IP2Location DB10 Sample Bin File78.32 MB122.97 kB
IP2Location DB11 Sample Bin File35.35 MB92.44 kB
IP2Location DB12 Sample Bin File78.86 MB123.76 kB
IP2Location DB13 Sample Bin File33.92 MB90.82 kB
IP2Location DB14 Sample Bin File80.28 MB124.37 kB
IP2Location DB15 Sample Bin File38.43 MB96.03 kB
IP2Location DB16 Sample Bin File85.19 MB129.27 kB
IP2Location DB17 Sample Bin File41.61 MB97.87 kB
IP2Location DB18 Sample Bin File93.15 MB137.92 kB
IP2Location DB19 Sample Bin File75.10 MB119.78 kB
IP2Location DB20 Sample Bin File95.71 MB139.09 kB
IP2Location DB21 Sample Bin File42.24 MB98.41 kB
IP2Location DB22 Sample Bin File100.27 MB141.85 kB
IP2Location DB23 Sample Bin File75.70 MB120.75 kB
IP2Location DB24 Sample Bin File101.21 MB142.79 kB