IP2Location IP Geolocation PHP Module

This IP Geolocation PHP module allows user to find the IP geolocation information about an IP address such as country codes, country name, region, district, 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, usage type, address type, IAB category and ASN that any IP address or host name originates from. It has been optimized for speed and memory utilization. Developers can use our IP geolocation API to query all IP2Location™ binary databases for IPv4 and IPv6 address.

Installation
  1. Run the command:
    composer require ip2location/ip2location-php

    Note: You just need to include the below code in order to use the library.
    require 'vendor/autoload.php';
Sample Codes
<?php
require 'vendor/autoload.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('./data/IP-COUNTRY-REGION-CITY-LATITUDE-LONGITUDE-ZIPCODE-TIMEZONE-ISP-DOMAIN-NETSPEED-AREACODE-WEATHER-MOBILE-ELEVATION-USAGETYPE-ADDRESSTYPE-CATEGORY-DISTRICT-ASN-SAMPLE.BIN', \IP2Location\Database::SHARED_MEMORY);
/*
   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('./data/IP-COUNTRY-REGION-CITY-LATITUDE-LONGITUDE-ZIPCODE-TIMEZONE-ISP-DOMAIN-NETSPEED-AREACODE-WEATHER-MOBILE-ELEVATION-USAGETYPE-ADDRESSTYPE-CATEGORY-DISTRICT-ASN-SAMPLE.BIN', \IP2Location\Database::MEMORY_CACHE);


/*
	Default file I/O lookup
*/
$db = new \IP2Location\Database('./data/IP-COUNTRY-REGION-CITY-LATITUDE-LONGITUDE-ZIPCODE-TIMEZONE-ISP-DOMAIN-NETSPEED-AREACODE-WEATHER-MOBILE-ELEVATION-USAGETYPE-ADDRESSTYPE-CATEGORY-DISTRICT-ASN-SAMPLE.BIN', \IP2Location\Database::FILE_IO);

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

echo '<pre>';
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 'Address Type          : ' . $records['addressType'] . "\n";
echo 'Category              : ' . $records['category'] . "\n";
echo 'District              : ' . $records['district'] . "\n";
echo 'ASN                   : ' . $records['asn'] . "\n";
echo 'AS                    : ' . $records['as'] . "\n";
echo '</pre>';

// Web Service
$ws = new \IP2Location\WebService('demo', 'WS25', false);
$records = $ws->lookup('8.8.8.8', [
	'continent', 'country', 'region', 'city', 'geotargeting', 'country_groupings', 'time_zone_info',
], 'en');

echo '<pre>';
print_r($records);

echo 'Credit Remaining: ' . $ws->getCredit() . "\n";
echo '</pre>';

?>
Sample IP2Location Databases (BIN)
Sample Packages - BIN File IPv4 IPv6
IP2Location DB1 Download (1,002.44 kB) Download (1.04 MB)
IP2Location DB2 Download (31.69 MB) Download (32.44 MB)
IP2Location DB3 Download (20.80 MB) Download (20.91 MB)
IP2Location DB4 Download (50.60 MB) Download (50.74 MB)
IP2Location DB5 Download (31.45 MB) Download (31.62 MB)
IP2Location DB6 Download (60.75 MB) Download (60.97 MB)
IP2Location DB7 Download (56.69 MB) Download (56.83 MB)
IP2Location DB8 Download (67.08 MB) Download (67.27 MB)
IP2Location DB9 Download (36.24 MB) Download (36.44 MB)
IP2Location DB10 Download (72.69 MB) Download (72.95 MB)
IP2Location DB11 Download (36.98 MB) Download (37.19 MB)
IP2Location DB12 Download (73.28 MB) Download (73.48 MB)
IP2Location DB13 Download (35.65 MB) Download (35.85 MB)
IP2Location DB14 Download (74.67 MB) Download (74.93 MB)
IP2Location DB15 Download (40.14 MB) Download (40.39 MB)
IP2Location DB16 Download (79.29 MB) Download (79.58 MB)
IP2Location DB17 Download (43.20 MB) Download (43.40 MB)
IP2Location DB18 Download (86.72 MB) Download (87.19 MB)
IP2Location DB19 Download (70.06 MB) Download (70.15 MB)
IP2Location DB20 Download (89.33 MB) Download (89.75 MB)
IP2Location DB21 Download (43.70 MB) Download (43.97 MB)
IP2Location DB22 Download (93.43 MB) Download (93.81 MB)
IP2Location DB23 Download (70.60 MB) Download (70.79 MB)
IP2Location DB24 Download (94.71 MB) Download (95.18 MB)
IP2Location DB25 Download (96.78 MB) Download (97.08 MB)
IP2Location DB26 Download (103.48 MB) Download (103.85 MB)
Pop Up Box

Discover Your User Locations

Retrieve geolocation data for FREE now!