הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   איך אני בודק מאיזה ארץ המשתמש? (https://hosts.co.il/forums/showthread.php?t=40245)

AmosPeled.com 21-02-07 17:52

איך אני משתמש בקובץ הזה ?

AmosPeled.com 21-02-07 18:44

תודה רבה הסתדרתי!!

Eli-Hai 21-02-07 19:17

ציטוט:

נכתב במקור על ידי RS324 (פרסם 426456)
מה הקשר REGEX לפה ??



קצת חיפוש בגוגל אף פעם לא מזיק.
http://www.ip2country.com/

הקשר, שאני הייתי בודק את הטווח עם REGEX. למשל, אם למדינה X זה מתחיל 1.1. אז הייתי מנסה לבדוק עם REGEX, אל תקפוץ..

RS324 21-02-07 19:19

ציטוט:

נכתב במקור על ידי Eli-Hai (פרסם 426562)
הקשר, שאני הייתי בודק את הטווח עם REGEX. למשל, אם למדינה X זה מתחיל 1.1. אז הייתי מנסה לבדוק עם REGEX, אל תקפוץ..

אם אי פעם טרחת להסתכל בקובץ של האיפים , כולם כתובים כך 1055924224 בקוד דצימלי
ככה ש PREG מיותר לחלוטין....
אז כן...מה הקשר..

Eli-Hai 22-02-07 20:28

ציטוט:

נכתב במקור על ידי RS324 (פרסם 426565)
אם אי פעם טרחת להסתכל בקובץ של האיפים , כולם כתובים כך 1055924224 בקוד דצימלי
ככה ש PREG מיותר לחלוטין....
אז כן...מה הקשר..

לא עבדתי עם זה אף פעם, ולכן הנחתי שהטווחים נראים אחרת.

בניה 23-02-07 00:37

הינה קוד להכנסת המידע למסד נתונים מסוג 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);
?>



כל הזמנים הם GMT +2. הזמן כעת הוא 06:54.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ