Revision: 68399
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at January 16, 2015 13:45 by Hexahow
Initial Code
<?php //MYSQL configuration $mysql_server = "mysql_server.com"; $mysql_user_name ="User ID"; $mysql_user_pass ="password"; //Connect to database $link = mysql_connect($mysql_server,$mysql_user_name,$mysql_user_pass) or die("could not connect to MySQL Database"); //Check database connection if(!$link) { echo "Database error."; } else { mysql_select_db("ip2location") or die("could not select database"); echo "Database is Connected ."; echo "<br><br>"; } //Display for user input echo ""; echo "<title>IP Query in Bulk</title>"; echo " <span>Upload IP list for validation:</span><br><br> <form action="" enctype="multipart/form-data" method="post"> <input name="uploaded_file" type="file" value=""><br> <input name="submit" type="submit" value="Upload & Process"> </form> "; echo ""; //File submitted if(isset($_POST['submit'])) { //Check for file error if($_FILES["uploaded_file"]["error"] > 0) { echo "Error :" .$_FILES["uploaded_file"]["error"]. "<br>"; } else { echo "Input File Path :" , realpath(dirname(__FILE__)) ; echo "<br>"; echo "File Name : " .$_FILES["uploaded_file"]["name"]. "<br>"; echo "Type : " .$_FILES["uploaded_file"]["type"]. "<br>"; echo "Size : " .($_FILES["uploaded_file"]["size"]/ 1024). "KB<br>"; } //Name the output file if(file_exists( "result.csv")) { $duplicatefile = "result.csv"; unlink($duplicatefile); echo "Duplicate file deleted ! <br>"; } //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. <br>" ; } 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,100,","); $ipno = Dot2LongIPv6($iplist); $query = "SELECT * FROM ip2location_db11 WHERE ip_to >= $ipno order by ip_to limit 1 "; if(!$query) { echo "Error"; } $result = mysql_query($query) or die("IP2Location Query Failed"); while($row = mysql_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 "<br>"; mysql_free_result($result); mysql_close($link); } // Function to convert IP address to IP number (IPv6) function Dot2LongIPv6 ($IPaddr) { $int = inet_pton($IPaddr); $bits = 15; $ipv6long = 0; while($bits >= 0){ $bin = sprintf("%08b", (ord($int[$bits]))); if($ipv6long){ $ipv6long = $bin . $ipv6long; } else{ $ipv6long = $bin; } $bits--; } $ipv6long = gmp_strval(gmp_init($ipv6long, 2), 10); return $ipv6long; } ?>
Initial URL
http://ip2location.com/tutorials/lookup-ip-address-in-bulk-using-php-and-mysql-database
Initial Description
The code below can be used to lookup IP address in bulk in return of geolocation information using PHP programming languages and MySQL database. In this tutorial, we use the IP2Location LITE database to lookup country of origin from the visitor's IP address. Free databases are available for download at IP2Location LITE database.
Initial Title
IP Address (IPv6) Lookup in Bulk Using PHP and MySQL Database
Initial Tags
mysql, php, ip
Initial Language
PHP