Á¢¼ÓIP°¡Áö°í ÇØ´ç ±¹±âÇ¥½ÃÇϱâ |
|
|
 |
17³â Àü |
¿ì¼± ÇÊ¿äÇÑ ÆÄÀϺÎÅÍ ´Ù¿î¹Þ°í ½ÃÀÛÇÏÁÒ.
http://ip-to-country.webhosting.info/
À§ »çÀÌÆ®¿¡ ¹æ¹®Çϼż ±¹°¡º° ¾ÆÀÌÇÇ Á¤º¸°¡ µé¾î°£ CSV ŸÀÔÀÇ ÆÄÀÏÀ» ´Ù¿î¹Þ½À´Ï´Ù.
¿À¸¥ÂÊ ¸Þ´º¿¡ download ¸¦ Ŭ¸¯ÇÏ½Ã¸é µË´Ï´Ù. [ip-to-country.csv.zip] [±¹±âÀ̹ÌÁö]
ÆÄÀϸµÅ©ÀÇ °æ¿ì ÆÄÀϸíÀÌ ¹Ù²î°Å³ª °æ·Î°¡ À߸øµÇ¸é ¹Ù·Î ´Ù¿îµÇÁö ¾ÊÀ»¼öµµ ÀÖÀ¸´Ï ±×¶§´Â Á÷Á¢°¡¼Å¼ ´Ù¿î¹ÞÀ¸¼Åµµ µË´Ï´Ù. [¹Ù·Î°¡±â]
À§ ÆÄÀϵéÀÌ ÁغñµÇ¾úÀ¸¸é ´ÙÀ½ ip-to-country.csv.zip ÆÄÀÏÀ» Àû´çÇÑ°÷¿¡ Ç®¾î¼ ÀÚ½ÅÀÇ °èÁ¤À¸·Î ¾÷·Îµå ÇÕ´Ï´Ù.
±×¸®°í ÇØ´ç ÆÄÀÏÀÇ Á¤º¸¸¦ ÀÚ½ÅÀÇ DB·Î ÀÔ·ÂÇÕ´Ï´Ù.
csvÆÄÀÏÀ» DB·Î ÀÔ·ÂÇϽô ¹æ¹ýÀ» ¸ð¸£½Å´Ù¸é ¾Æ·¡ ¼Ò½º¸¦ Âü°íÇϼ¼¿ä.
<?
/*
CSV import script for PHP4/5, Willem Spruijt, 2005
Assuming that your ip-to-country table is created using this query:
CREATE TABLE iptocountry
(ip_from int(4) unsigned,
ip_to int(4) unsigned,
country_code2 char(2),
country_code3 char(3),
country_name varchar(50));
*/
/*
Defines
*/
define("SOURCE_FILENAME", "ip-to-country.csv");
define("SEPERATOR_COL", ",");
define("SEPERATOR_ROW", "n");
/*
Open database connexion & cleanup
*/
mysql_connect("localhost", "À¯Àú³×ÀÓ", "¾ÏÈ£");
mysql_select_db("µðºñ³×ÀÓ");
mysql_query("DELETE FROM iptocountry") or die (mysql_error());
/*
Open file for reading
*/
$fhFile = fopen(SOURCE_FILENAME, "r") or die ("Error opening ".SOURCE_FILENAME);
$sData = fread($fhFile, filesize(SOURCE_FILENAME));
$aData = explode(SEPERATOR_ROW, $sData);
foreach($aData as $sRow) {
$aRow = explode(SEPERATOR_COL, $sRow);
/* Prepare values for query */
foreach($aRow as $sKey => $sValue) {
$sValue = str_replace(""", "", $sValue);
$sValue = addslashes($sValue);
$aRow[$sKey] = "'".$sValue."'";
}
list($sIpFrom, $sIpTo, $sCountryCode2, $sCountryCode3, $sCountryName) = $aRow;
$sQuery = "INSERT INTO iptocountry
(ip_from,
ip_to,
country_code2,
country_code3,
country_name)
VALUES
(".$sIpFrom.",
".$sIpTo.",
".$sCountryCode2.",
".$sCountryCode3.",
".$sCountryName."
);";
mysql_query($sQuery) or die (mysql_error());
}
?>
ÀÚ À§ÀÛ¾÷ÀÌ ³¡³ª¼Ì´Ù¸é ½ÇÁ¦ ÇØ´ç DB¿¡¼ IP¸¦ ´ëÁ¶ÇÏ¿© ±¹°¡ÄÚµå ¹Þ´Â °£´ÜÇÑ ¼Ò½º¸¦ º¸¿©µå¸®°Ú½À´Ï´Ù.
<?
$connect = mysql_connect("localhost","À¯Àú³×ÀÓ","¾ÏÈ£") or die("¼¹ö ¿¬°á ¿¡·¯ÀÔ´Ï´Ù.");
mysql_select_db("µðºñ³×ÀÓ") or die("DataBase ¿¬°á ¿¡·¯ÀÔ´Ï´Ù.");
$ip = $_SERVER['REMOTE_ADDR']; //Á¢¼ÓÀÚ¾ÆÀÌÇǸ¦ ¹ÞÀ½
$ip_number = sprintf("%u", ip2long($ip));
//echo $ip_number;
$sql = " select * from iptocountry where ip_from <= '$ip_number' AND ip_to >= '$ip_number' ";
$result = mysql_query($sql);
while($data=mysql_fetch_array($result)) {
$country_img = strtolower($data[country_code2]);
$country_code = $data[country_code2];
$country = $data[country_name];
echo "<img src='À̹ÌÁö°æ·Î/$country_img.png'> $ip_num ($country)</br>";
}
?>
|
|
̵̧ : 276 |
̵̧
¸ñ·Ï
|
|