/****************************************************************************************************************/ /* Description: This snippet is provide simple way to help user on how to lookup IP address in bulk . */ /* suggestions for different city locations across the country. */ /* There are 1 steps in this snippet. For information, please visit IP2Location tutorial page at: */ /* https://www.ip2location.com/tutorials/lookup-ip-address-in-bulk-using-php-and-mysql-database */ /****************************************************************************************************************/ /* You can obtain free IP2Location LITE database for IPv4 at https://lite.ip2location.com */ "; echo "IP Query in Bulk"; echo " Upload IP list for validation:


"; echo ""; //File submitted if(isset($_POST['submit'])) { //Check for file error if($_FILES["uploaded_file"]["error"] > 0) { echo "Error :" .$_FILES["uploaded_file"]["error"]. "
"; } else { echo "Input File Path :" , realpath(dirname(__FILE__)) ; echo "
"; echo "File Name : " .$_FILES["uploaded_file"]["name"]. "
"; echo "Type : " .$_FILES["uploaded_file"]["type"]. "
"; echo "Size : " .($_FILES["uploaded_file"]["size"]/ 1024). "KB
"; } //Name the output file if(file_exists( "result.csv")) { $duplicatefile = "result.csv"; unlink($duplicatefile); echo "Duplicate file deleted !
"; } //Check if uploaded file exists if(file_exists( $_FILES["uploaded_file"]["name"])) { echo"Uploaded file already exist, Please make sure that both file's content are same.
" ; } else { move_uploaded_file($_FILES["uploaded_file"]["tmp_name"], $_FILES["uploaded_file"]["name"]); } //Open file from its location $file = $_FILES["uploaded_file"]["name"]; $ipfile = fopen($file,"r") or exit("unable to open file!"); //To split up the IP Address and fetch data from server while(! feof($ipfile)) { $iplist = stream_get_line($ipfile,18,","); $ipno = Dot2LongIP($iplist); $query = "SELECT * FROM ip2location_db11 WHERE ip_to >= $ipno order by ip_to limit 1 "; if(!$query) { echo "Error"; } $result = mysqli_query($link,$query) or die("IP2Location Query Failed"); while($row = mysqli_fetch_array($result,MYSQL_ASSOC)) { $current = "\"$iplist\",\"$ipno\",\"{$row['country_code']}\",\"{$row['country_name']}\",\"{$row['region_name']}\",\"{$row['city_name']}\",\"{$row['latitude']}\",\"{$row['longitude']}\",\"{$row['zip_code']}\",\"{$row['time_zone']}\"" ; //Output file to the path you want $ans = "result.csv"; $fp = fopen($ans,"a") or die("couldn't open $ans for writing"); fwrite($fp,$current) or die ("couldn't write values to file!"); fclose($fp); } } echo "Result File Path : ", realpath($ans); echo "
"; // Free recordset and close database connection mysqli_free_result($result); mysqli_close($link); } // Function to convert IP address (xxx.xxx.xxx.xxx) to IP number (0 to 256^4-1) function Dot2LongIP ($IPaddr) { if ($IPaddr == "") { return 0; } else { $ip = explode(".", $IPaddr); return ($ip[3] + $ip[2] * 256 + $ip[1] * 256 * 256 + $ip[0] * 256 * 256 * 256); } } ?>