<?php 
require_once 'IP2Location.php'; 
 
error_reporting(E_ALL); 
echo ini_get("memory_limit")."\n"; 
ini_set('max_execution_time', 0); 
 
//Timer started 
$m_start = microtime(true); 
 
//Load file using FILE_IO method for testing 
//$db = new \IP2Location\Database('./databases/IP2LOCATION-LITE-DB11.BIN', \IP2Location\Database::FILE_IO); 
$db = new \IP2Location\Database('./databases/IP2LOCATION-LITE-DB11.IPV6.BIN', \IP2Location\Database::FILE_IO); 
 
//Get IP address for testing 
$ip_list = explode("\r\n", file_get_contents('ip_list.txt')); 
 
//Run the testing 
$ip_data = array(); 
foreach($ip_list as $ip){ 
        //get all records 
        $records = $db->lookup($ip, \IP2Location\Database::ALL); 
 
        array_push($ip_data, array('ipaddr'=>$records['ipAddress'], 
                                   'countryCode'=>$records['countryCode'], 
                                   'regionName'=>$records['regionName'], 
                                    'cityName'=>$records['cityName'], 
                                     'lat'=>$records['latitude'], 
                                      'long'=>$records['longitude'] 
                                    )); 
} 
 
//Timer stopped 
$m_end = microtime(true); 
 
//Get the expected result data for validation 
$ip_result = explode("\r\n", file_get_contents('ip_result.txt')); 
if (count($ip_data) != count($ip_result)){ 
        echo 'The ip list and result count was not tally. Please recheck your code.' . "\n"; 
        return; 
} 
else{ 
        //Validate the result 
        $idx=0; 
        foreach($ip_result as $row){ 
                $row_data = explode("\t", $row); 
                if ($row_data[0] != $ip_data[$idx]['countryCode'] || $row_data[1] != $ip_data[$idx]['regionName'] || $row_data[2] != $ip_data[$idx]['cityName']){ 
                        echo 'Error found at record #' . ($idx+1) . "\n"; 
                        //return; 
                } 
 
                $idx+=1; 
        } 
} 
 
echo memory_get_usage()."\n"; 
 
//Output the time taken (Note: Time taken not including the time used for result validation) 
$time_taken = $m_end - $m_start; 
echo 'Time taken: ' . $time_taken . ' seconds' . "\n"; 
file_put_contents('testing_report.txt', 'Time taken: ' . $time_taken . ' seconds' . "\n"); 
?> 
 
 |