PHP Module

This module is a PHP module that enables the user to find the country, region, city, coordinates, zip code, ISP, domain name, timezone, connection speed, IDD code, area code, weather station code, weather station name, MCC, MNC, mobile brand name, elevation and usage type that any IP address or host name originates from. It has been optimized for speed and memory utilization. Developers can use the API to query all IP2Location™ binary databases for IPv4 and IPv6 address.

Download Download   Source Source

* Special thanks to Mariano Pérez Rodríguez from AdSynapse (mariano[dot]perez[dot]rodriguez[at]gmail[dot]com) for working on this release.


ZIP Installation
  1. Download and unzip and package.
Composer Installation
  1. Add the below line into your composer.json file.
      "require": {
        "ip2location/ip2location-php": "7.*"
  2. Run the command: composer install
  3. Done.

Note: You just need to include the below code in order to use the library.

require 'vendor/autoload.php';


Sample Codes
require_once 'IP2Location.php';

   Cache whole database into system memory and share among other scripts & websites
   WARNING: Please make sure your system have sufficient RAM to enable this feature
// $db = new \IP2Location\Database('./databases/IP-COUNTRY-SAMPLE.BIN', \IP2Location\Database::MEMORY_CACHE);

   Cache the database into memory to accelerate lookup speed
   WARNING: Please make sure your system have sufficient RAM to enable this feature
// $db = new \IP2Location\Database('./databases/IP-COUNTRY-SAMPLE.BIN', \IP2Location\Database::MEMORY_CACHE);

	Default file I/O lookup
$db = new \IP2Location\Database('./databases/IP-COUNTRY-SAMPLE.BIN', \IP2Location\Database::FILE_IO);

$records = $db->lookup('', \IP2Location\Database::ALL);

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


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 (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 File343.83 kB88.24 kB
IP2Location DB2 Sample Bin File37.60 MB104.78 kB
IP2Location DB3 Sample Bin File12.87 MB95.11 kB
IP2Location DB4 Sample Bin File48.33 MB110.79 kB
IP2Location DB5 Sample Bin File20.11 MB99.57 kB
IP2Location DB6 Sample Bin File55.53 MB115.11 kB
IP2Location DB7 Sample Bin File53.72 MB118.70 kB
IP2Location DB8 Sample Bin File61.17 MB122.75 kB
IP2Location DB9 Sample Bin File23.66 MB102.04 kB
IP2Location DB10 Sample Bin File65.45 MB126.01 kB
IP2Location DB11 Sample Bin File24.16 MB102.56 kB
IP2Location DB12 Sample Bin File65.91 MB126.58 kB
IP2Location DB13 Sample Bin File23.76 MB100.28 kB
IP2Location DB14 Sample Bin File66.70 MB126.84 kB
IP2Location DB15 Sample Bin File26.21 MB105.33 kB
IP2Location DB16 Sample Bin File70.81 MB130.89 kB
IP2Location DB17 Sample Bin File29.19 MB105.64 kB
IP2Location DB18 Sample Bin File76.50 MB137.52 kB
IP2Location DB19 Sample Bin File63.19 MB123.39 kB
IP2Location DB20 Sample Bin File78.45 MB138.44 kB
IP2Location DB21 Sample Bin File28.65 MB107.07 kB
IP2Location DB22 Sample Bin File81.42 MB140.49 kB
IP2Location DB23 Sample Bin File63.63 MB123.78 kB
IP2Location DB24 Sample Bin File82.13 MB140.90 kB