View Single Post
ישן 23-02-07, 00:37   # 16
בניה
משתמש - היכל התהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
מיקום: נחושה
הודעות: 3,434

בניה לא מחובר  

הינה קוד להכנסת המידע למסד נתונים מסוג MYSQL.
רק שלוקח לסקריפט בערך דקה לרוץ.
מבנה הטבלה:
קוד:
 CREATE TABLE `ip2country` (
  `IP_FROM` double NOT NULL default '0',
  `IP_TO` double NOT NULL default '0',
  `COUNTRY_CODE2` char(2) NOT NULL default '',
  `COUNTRY_CODE3` char(3) NOT NULL default '',
  `COUNTRY_NAME` varchar(50) NOT NULL default '',
  UNIQUE KEY `IP_TO_2` (`IP_TO`),
  UNIQUE KEY `IP_FROM_2` (`IP_FROM`),
  KEY `IP_FROM` (`IP_FROM`),
  KEY `IP_TO` (`IP_TO`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
הקוד שמכניס:

PHP קוד:
<?php
error_reporting
(1);
$start time();
$fp fopen("./ip-to-country.csv" ,"r");
$c=0;
mysql_connect('localhost',"root");
mysql_select_db("ip2country");
while(!
feof($fp))
{
    
$line = array();
                  
//From     //To
    
preg_match('/"([0-9]*)","([0-9]*)","([a-z]{2})","([a-z]{3})","([a-z ]*)"/i',fgets($fp),$line);
    if(
$line[1]=='0'||$line[1]=='')
        continue;
    
mysql_query("INSERT INTO `ip2country`
    (`IP_FROM`, `IP_TO`, `COUNTRY_CODE2`, `COUNTRY_CODE3`, `COUNTRY_NAME`) VALUES
    ("
.$line[1].", ".$line[2].", '".$line[3]."', '".$line[4]."', '".$line[5]."')") or die(mysql_error());
    
$c++;
}
mysql_close();
fclose($fp);
echo 
"lines: " $c ". time took: " . (time() - $start);
?>
  Reply With Quote