<?php
Class Ip2Location{
public static function getDetails($ip=''){
$data = array();
$data['country'] = '';
$data['country_iso'] = '';
$data['city'] = '';
$data['postal_code'] = '';
$data['lat'] = '';
$data['lon'] = '';
$data['timezone'] = '';
$data['region'] = '';
if($ip==''){
$ip = get_client_ip();
}
if(file_exists('storage/ipdb/IP2LOCATION-LITE-DB5.BIN')){
try {
// $reader = new Reader('storage/mmdb/GeoLite2-City.mmdb');
//
// $record = $reader->city($ip);
//
// $data['country'] = $record->country->name;
// $data['country_iso'] = $record->country->isoCode;
// $data['city'] = $record->city->name;
// $data['postal_code'] = $record->postal->code;
// $data['lat'] = $record->location->latitude;
// $data['lon'] = $record->location->longitude;
$db = new \IP2Location\Database('storage/ipdb/IP2LOCATION-LITE-DB11.BIN', \IP2Location\Database::FILE_IO);
$records = $db->lookup($ip, \IP2Location\Database::ALL);
$data['country'] = $records['countryName'];
$data['country_iso'] = $records['countryCode'];
$data['city'] = $records['cityName'];
$data['zip'] = $records['zipCode'];
$data['lat'] = $records['latitude'];
$data['lon'] = $records['longitude'];
$data['timezone'] = $records['timeZone'];
$data['region'] = $records['regionName'];
} catch (Exception $e) {
}
}
return $data;
}
}