±èÀÎÈ£  |
2006-03-09 12:05:59 |
Hit:5443 |
|
|
±Û¾´ÀÌ : ¿À·»Áöºí·ç
ÀúÀÛ±ÇÀÚ À̸ÞÀÏ :
Ãâó : www.koreaphp.co.kr
ÀÛ¼ºÀÏ : 2002/04/24 13:31:13
±Û³»¿ë
MySQL¿¡ À̹ÌÁö ÀúÀåÇϱâ
¶§¶§·Î À̹ÌÁö¸¦ µ¥ÀÌÅͺ£À̽º¿¡ ÀúÀåÇÏ´Â °ÍÀÌ ÆÄÀÏ·Î ÀúÀåÇÏ´Â °Íº¸´Ù ´õ Æí¸®ÇÒ
¶§°¡ ÀÖ½À´Ï´Ù. MySQL°ú PHP´Â ÀÌ·± ÀÏÀ» ¸Å¿ì ½±°Ô ¸¸µé¾îÁÝ´Ï´Ù. ÀÌ ±Û¿¡¼ Àú´Â
MySQL µ¥ÀÌÅͺ£À̽º¿¡ À̹ÌÁö¸¦ ÀúÀåÇÏ´Â ¹æ¹ý°ú ³ªÁß¿¡ ±×°ÍÀ» µå·¯³» º¸ÀÌ´Â ¹æ¹ýÀ»
¼³¸íÇϰíÀÚ ÇÕ´Ï´Ù.
µ¥ÀÌÅͺ£À̽º ¼³Á¤Çϱâ.
~~~~~~~~~~~~~~~~~~~~~~
¾î¶² º¸ÅëÀÇ ÅØ½ºÆ®³ª Á¤¼ö¿µ¿ª°ú À̹ÌÁö°¡ ÀúÀåµÇ¾îÁö±â À§ÇØ ÇÊ¿äÇÑ ¿µ¿ª »çÀÌÀÇ
Â÷ÀÌÁ¡Àº ±× ¿µ¿ª¼Ó¿¡ Áö´Ï°Ô µÇ´Âµ¥ ÇÊ¿äÇÑ µ¥ÀÌÅÍÀÇ ¾çÀÔ´Ï´Ù. MySQLÀº Ä¿´Ù¶õ
¾çÀÇ µ¥ÀÌÅ͸¦ Áö´Ï±âÀ§ÇØ Æ¯º°ÇÑ ¿µ¿ªÀ» »ç¿ëÇÕ´Ï´Ù. ÀÌ·± ¿µ¿ªµéÀº
BLOBs(BLOB)¶ó°í ¾Ë·ÁÁ® ÀÖ½À´Ï´Ù.
MySQL »çÀÌÆ®¿¡¼´Â BLOB¸¦ ¾Æ·¡¿Í °°ÀÌ Á¤ÀÇÇϰí ÀÖ½À´Ï´Ù.
BLOB´Â µ¥ÀÌÅÍÀÇ °¡º¯ÀûÀÎ ¾çÀ» Áö´Ï°í ÀÖÀ» ¼ö ÀÖ´Â °Å´ëÇÑ ¹ÙÀ̳ʸ® °´Ã¼ÀÌ´Ù.
TINYBLOB, BLOB, MEDIUMBLOB¿Í LONGBLOBÀÇ ³×°¡Áö BLOBÀÇ ÇüÅ´ ´ÜÁö ±×µéÀÌ Áö´Ï°í
ÀÖÀ» ¼ö ÀÖ´Â °ªÀÇ ÃÖ´ë ±æÀÌ¿¡¼¸¸ ´Ù¸¦»ÓÀÔ´Ï´Ù.
MySQL BLOB¿¡ ´ëÇÑ ´õ ¸¹Àº Á¤º¸´Â ¾Æ·¡¿¡¼ È®ÀÎÇØ º¸½Ê½Ã¿À.
http://www.mysql.com/Manual_chapter/manual_Reference.html#BLOB
À̹ÌÁö¸¦ Áö´Ï°Ô µÉ ±âº»ÀûÀÎ Å×À̺íÀ» »ý¼ºÇϱâ À§ÇØ ´ÙÀ½ÀÇ ±¸¹®À»
»ç¿ëÇϽʽÿÀ.
CREATE TABLE Images(
PicNum int NOT NULL AUTO_INCREMENT PRIMARY KEY,
Image BLOB
);
¾÷·Îµå ½ºÅ©¸³Æ® ¼³Á¤Çϱâ.
~~~~~~~~~~~~~~~~~~~~~~~~~
ÆÄÀÏÀ» ¾÷·ÎµåÇϱâ À§ÇÑ ¿¹´Â Berber(29/06/99)ÀÇ File Uploading
(http://webdev.berber.co.il/articles/FileUpload.php3)¿¡¼ º¼ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù.
Áö±Ý ¿ì¸®¿¡°Ô ÇÊ¿äÇÑ °ÍÀº MySQL¿¡ ÆÄÀÏÀ» ³Ö°í ±×°ÍÀ» ¾ò´Â PHP ½ºÅ©¸³Æ®ÀÔ´Ï´Ù.
´ÙÀ½ÀÇ ½ºÅ©¸³Æ®´Â ´ÜÁö ±×°Í »ÓÀÔ´Ï´Ù. ½ºÅ©¸³Æ®¿¡¼ Àú´Â ÆÄÀÏÇʵåÀÇ À̸§À»
PictureÀÎ °ÍÀ¸·Î °¡Á¤Çϰí ÀÖ½À´Ï´Ù.
<?
If($Picture != "none") {
$PSize = filesize($Picture);
$mysqlPicture = addslashes(fread(fopen($Picture, "r"),
$PSize));
mysql_connect($host, $username, $password)
or die("SQL ¼¹ö¿¡ Á¢¼ÓÇÒ ¼ö ¾ø½À´Ï´Ù.");
@mysql_select_db($db)
or die("µ¥ÀÌÅͺ£À̽º¸¦ ¼±ÅÃÇÒ ¼ö ¾ø½À´Ï´Ù.")
mysql_query("INSERT INTO Image (Image) VALUES
'($mysqlPicture)'")
or die("Äõ¸®¸¦ ¼öÇàÇÒ ¼ö ¾ø½À´Ï´Ù.");
}
else {
echo "¾î¶² ±×¸²µµ ¾÷·ÎµåÇÏÁö ¾ÊÀ¸¼Ì½À´Ï´Ù.";
}
?>
À̰ÍÀÌ µ¥ÀÌÅͺ£À̽º¿¡ À̹ÌÁö¸¦ ³Ö±â À§ÇØ ÇÊ¿äÇÑ ¸ðµç °ÍÀÔ´Ï´Ù. ¾î¶²°æ¿ì¿¡´Â
¿©·¯ºÐÀÌ MySQL¿¡ À̹ÌÁö¸¦ ³ÖÀ¸·Á°í ÇÒ ¶§ ¿¡·¯°¡ ¹ß»ýÇÒ Áöµµ¸ð¸£´Âµ¥, ±×·±
°æ¿ì¿¡´Â ¿©·¯ºÐÀÇ MySQL ¹öÀüÀÌ Çã¶ôÇÏ´Â ÃÖ´ë ÆÐŶÀÇ Å©±â¸¦ È®ÀÎÇØ º¸´Â °ÍÀÌ
ÁÁ½À´Ï´Ù. ±×·± °æ¿ì´Â ¸Å¿ì ÀûÀ» Å×Áö¸¸, ¿©·¯ºÐÀº MySQLÀÇ ¿¡·¯ ·Î±×³»¿¡¼ ÀÌ
¿¡·¯¿¡ ´ëÇÑ °ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù.
À§ÀÇ ÆÄÀÏ¿¡¼ ¿ì¸®°¡ ÇÑ °ÍÀº,
1. ¸¸¾à, If($Picture != "none")À¸·Î ÆÄÀÏÀÌ ¾÷·ÎµåµÇ¾ú´ÂÁö È®ÀÎÇϰí,
2. MySQL³»¿¡¼ ¿¡·¯µéÀ» ÇÇÇϱâ À§ÇØ ±×¸²ÀÇ ½ºÆ®¸²¿¡ addslashes()¸¦ ÁÖ°í,
3. MySQL¿¡ Á¢¼ÓÇÏ¿© µ¥ÀÌÅͺ£À̽º¸¦ ¼±ÅÃÇϰí À̹ÌÁö¸¦ ³Öµµ·Ï ÇÑ °ÍÀÔ´Ï´Ù.
À̹ÌÁö ³ªÅ¸³»±â.
~~~~~~~~~~~~~~~~
ÀÌÁ¦ ¿ì¸®´Â À̹ÌÁö¸¦ µ¥ÀÌÅͺ£À̽º¿¡ ³Ö´Â ¹ýÀ» ¾Ë¾Ò½À´Ï´Ù. ¿ì¸®´Â ±×°ÍµéÀ» ¾ò°í
º¸ÀÌ´Â ¹æ¹ýÀ» ¸¸µé¾î ³¾ Çʿ䰡 ÀÖ½À´Ï´Ù. À̰ÍÀº À̹ÌÁö¸¦ ³Ö´Â °Íº¸´Ù ´õ
º¹ÀâÇÏÁö¸¸, ¸¸¾à ¿©·¯ºÐÀÌ ÀÌ ´Ü°è¸¦ µû¸¥´Ù¸é À̰ÍÀ» ¸¸µé¾î³»°í ½ÇÇàÇϴµ¥
½Ã°£ÀÌ °É¸®Áö ¾ÊÀ» °ÍÀÔ´Ï´Ù.
±×¸²À» º¸ÀÌ´Â µ¥¿¡´Â º¸³»¾îÁú Çì´õ°¡ ÇÊ¿äÇϱ⠶§¹®¿¡ ¿ì¸®´Â ´ÜÁö ÇϳªÀÇ
±×¸²¿Ü¿¡´Â ´õ º¼ ¼ö¹Û¿¡ ¾ø´Â ±×·± »óÅ¿¡ ºÀÂøÇÏ°Ô µÉ ¼öµµ ÀÖ½À´Ï´Ù.
Çѹø Çì´õ¸¦ º¸³»°Ô µÇ¸é ´õ ÀÌ»óÀÇ Çì´õ¸¦ º¸³¾ ¼ö ¾ø°Ô µË´Ï´Ù.
À̰ÍÀÌ Æ®¸¯ÀÌ ÇÊ¿äÇÑ ºÎºÐÀÔ´Ï´Ù. ½Ã½ºÅÛÀ» ¾à°£ ¼ÓÀ̱â À§ÇØ ¿ì¸®´Â µÎ°³ÀÇ ÆÄÀÏÀ»
»ç¿ëÇÕ´Ï´Ù. ù¹øÂ° ÆÄÀÏÀº ¿ì¸®°¡ º¸À̰íÀÚ ÇÏ´Â ±×¸²ÀÌ ¾îµð¿¡ ÀÖ´ÂÁö¸¦ ¾Ë°í
ÀÖ´Â HTML ÅÛÇø´ ÆÄÀÏÀÔ´Ï´Ù. À̰ÍÀº ¿ì¸®°¡ º¸À̰íÀÚ ÇÏ´Â ÇÏ´Â <IMG>
ű׸¦ Æ÷ÇÔÇϰí ÀÖ´Â HTML ÆÄÀϷμ, ÀϹÝÀûÀÎ PHP ÆÄÀÏÀÔ´Ï´Ù.
µÎ¹øÂ° ÆÄÀÏÀº <IMG> ű×ÀÇ SRC ¼Ó¼º¿¡ Á÷Á¢ µ¥ÀÌÅͺ£À̽º·Î ºÎÅÍ ½ÇÁ¦ ÆÄÀÏ
½ºÆ®¸²À» Á¦°øÇϱâ À§ÇØ ºÒ¸®¿öÁö´Â ÆÄÀÏÀÔ´Ï´Ù.
ù¹øÂ° ÇüÅ´ º¸ÀÌ´Â °Íó·³ ¸Å¿ì °£´ÜÇÑ ½ºÅ©¸³Æ®ÀÔ´Ï´Ù.
<HTML>
<BODY>
<?
mysql_connect($host, $username, $password)
or die("SQL ¼¹ö¿¡ Á¢¼ÓÇÒ ¼ö ¾ø½À´Ï´Ù.");
@mysql_select_db($db)
or die("µ¥ÀÌÅͺ£À̽º¸¦ ¼±ÅÃÇÒ ¼ö
¾ø½À´Ï´Ù.");
$result=mysql_query("select * from Images")
or die("Äõ¸®¸¦ ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù.");
while($row=mysql_fetch_object($result)) {
echo "<IMG
SRC="SecondType.php3?PicNum=$row->PicNum">";
}
?>
</BODY>
</HTML>
±× HTMLÀÌ º¸¿©Áö´Â µ¿¾È, µÎ¹øÂ°ÀÇ SecondType.php3 ÆÄÀÏÀº ¿ì¸®°¡ º¸À̰íÀÚ ÇÏ´Â °¢
À̹ÌÁö¸¦ À§ÇØ ºÒ¸®¿öÁý´Ï´Ù. ÀÌ ½ºÅ©¸³Æ®´Â ¿ì¸®°¡ À̹ÌÁö¸¦ °¡Á®¿À°í º¸ÀÌ´Â °ÍÀ»
°¡´ÉÄÉ ÇÏ´Â Picture ID(PicNum)À» °¡Áö°í¼ ºÒ¸®¿ö Áý´Ï´Ù.
SecondType.php3 ÆÄÀÏÀº ÀÌ¿Í °°½À´Ï´Ù.
<?
$result=mysql_query("select * from Images where PicNum=$PicNum")
or die("Äõ¸®¸¦ ½ÇÇàÇÒ ¼ö ¾ø½À´Ï´Ù.");
$row=mysql_fetch_object($result);
Header("Content-type:image/gif");
echo $row->Image;
?>
| |
|