Código:
Agradesco cualkier ayuda que me puedan dar, Muchas gracias <?php $addr = getenv("REMOTE_ADDR"); echo "Your IP, IPv4: " . $addr . "<br />\n"; $ip = sprintf("%u", ip2long($addr)); echo "Your IP, numerical: " . $ip . "<br /><br />\n"; $time_start = microtime_float(); $handle = fopen("ip2country.csv", "r"); $row = 1; while (($buffer = fgets($handle, 4096)) !== FALSE) { $array[$row] = substr($buffer, 1, strpos($buffer, ",") - 2); $row++; } $time_end = microtime_float(); $time = substr($time_end - $time_start, 0, 7); echo "Array with " . $row . " start ips loaded in $time seconds<br /><br />\n"; $row_lower = '0'; $row_upper = $row; while (($row_upper - $row_lower) > 1) { $row_midpt = (int) (($row_upper + $row_lower) / 2); if ($ip >= $array[$row_midpt]) { $row_lower = $row_midpt; } else { $row_upper = $row_midpt; } } $time_end = microtime_float(); $time = substr($time_end - $time_start, 0, 7); echo "Row with your ip (# " . $row_lower . ") located after $time seconds<br /><br />\n"; rewind($handle); $row = 1; while ($row <= $row_lower) { $buffer = fgets($handle, 4096); $row++; } $buffer = str_replace("\"", "", $buffer); $ipdata = explode(",", $buffer); echo "Data retrieved from the csv file:<br />\n"; echo "ipstart = " . $ipdata[0] . "<br />\n"; echo "ipend = " . $ipdata[1] . "<br />\n"; echo "registry = " . $ipdata[2] . "<br />\n"; echo "assigned = " . date('j.n.Y', $ipdata[3]) . "<br />\n"; echo "iso2 = " . $ipdata[4] . "<br />\n"; echo "iso3 = " . $ipdata[5] . "<br />\n"; echo "country = " . $ipdata[6] . "<br /><br />\n"; fclose($handle); $time_end = microtime_float(); $time = substr($time_end - $time_start, 0, 7); echo "Executing the whole script took $time seconds\n"; function microtime_float() { list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } ?>