19.File Upload


  ÀǿܷΠC·Î ÀÛ¼ºµÈ File Upload¿Í °ü·ÃµÈ Source¸¦ ±¸ÇÏ±â ¾î·Æ´Ù. ´ëºÎºÐ NTȯ°æÀÇ DLLÀ̳ª, PerlÀÌ ÁÖ·ù¸¦ ÀÌ·é´Ù. ±×·¡¼­ ÀÏ´Ü C·Î ¾î¶»°Ô ±¸ÇöÇÏ´ÂÁö ¼³¸íÀ» ÇϰڴÙ. ¹°·Ð ÃÖÁ¾ÀûÀ¸·Î´Â ¿©·¯ºÐÀÌ ¿øÇÏ´Â Full Source Code¸¦ Á¦°øÇÒ °ÍÀÌÁö¸¸, Á» ±æ¾îÁú °Í °°´Ù. ¹®Á¦´Â cgipost, cgiget°ú´Â ´Þ¸® Äڵ带 ÀÌÇØÇÏÁö ¸øÇÏ¸é »ç¿ëÇÒ ¼ö ¾ø´Ù´Â Á¡ÀÌ´Ù.

  ±×·¡µµ, ¾î¶»°Ô ÀÛ¼ºÇÏ´ÂÁö È®½ÇÈ÷ ¾Ë¾Æº¸ÀÚ!

  ¸ÕÀú File Upload¸¦ À§ÇÑ Æ¯º°ÇÑ HTML Form Tag°¡ ÇÊ¿äÇÏ´Ù.

<FORM ACTION=upload METHOD=post ENCTYPE=multipart/form-data>
FileName : <INPUT TYPE=text NAME=FileName><BR>
FileData : <INPUT TYPE=file NAME=FileData><BR>
<INPUT TYPE=submit>
</FORM>


  ÀÌ·¸°Ô ÀÛ¼ºÀÌ µÇ¸é, ´ÙÀ½°ú °°Àº È­¸éÀÌ ³ªÅ¸³ª°Ô µÈ´Ù.


  À§ÀÇ HTML CodeÁß¿¡¼­ ÆÄ¶õ ±Û¾¾¸¦ ÁÖ¸ñÇ϶ó. ±âÁ¸ÀÇ Form Tag¿¡¼­ »ç¿ëµÇ´ø ¼Ó¼ºµé À̿ܿ¡ ENCTYPEÀÌ Ãß°¡ µÇ¾ú´Ù. ¶ÇÇÑ Ã£¾Æº¸±â ¹öưÀ» À§ÇØ INPUT TypeÀÌ file·Î Á¤ÀÇµÇ¸é ºê¶ó¿ìÀú´Â ÀÚµ¿À¸·Î TEXT ¹Ú½º¿Í ã¾Æº¸±â ¹öưÀ» »ý¼ºÇÏ°Ô µÈ´Ù.

  ÀÚ ÀÏ´Ü, ¾î¶»°Ô CGIÂÊÀ¸·Î µ¥ÀÌÅͰ¡ Àü´ÞµÇ´ÂÁö ¾Ë±âÀ§ÇÏ¿© CGI°­ÁÂÀÇ ±âÃʽǽÀ¿¡¼­ Á¦°øµÇ¾ú´ø stdinÀ¸·Î µé¾î¿À´Â ¸ðµç ¹®ÀÚ¸¦ Ãâ·ÂÇÏ´Â CGI¸¦ »ç¿ëÇϰڴÙ. ¿Ö³ÄÇϸé, METHOD°¡ POST·Î ÁöÁ¤µÇ¾îÀֱ⠶§¹®ÀÌ´Ù.

  À§ HTML CodeÁß¿¡¼­ ACTIONºÎºÐ¿¡ upload¶ó´Â CGI°¡ ÁöÁ¤µÇ¾úÀ¸¹Ç·Î ½ÇÇàÆÄÀϸíÀº upload·Î ÇϰڴÙ. ÄÚµå´Â ´ÙÀ½°ú °°´Ù.

#include <stdio.h>

main()
{
    char ch;
    printf("Content-type: text/html\n\n");

    pritnf("<PRE>\n");
    while(1){
       fscanf(stdin,"%c", &ch);
       if( feof(stdin) ) break;
       printf("%c", ch);
    }
    printf("</PRE><HR>");
}


  ¿©±â¼­ <PRE></PRE> Tag¸¦ ¾´ ÀÌÀ¯´Â stdinÀ¸·Î µé¾î¿À´Â ÇüÅ ±×´ë·Î Ãâ·ÂÇϱâ À§ÇÔÀÌ´Ù. ÄÄÆÄÀÏÀ» Çϰí, HTMLÆÄÀÏÀÇ ACTIONºÎºÐ¿¡ CGIÀÇ °æ·Î¸¦ Á¤È®È÷ ¼öÁ¤ÇÏÀÚ.

  ÀÌÁ¦, ½ÇÁ¦·Î ÆÄÀÏÀ» Çϳª ¿Ã·Áº¸ÀÚ. ¿©±â¼­ ÀÏ´Ü ±¸Á¶¸¦ ¾Ë·Á¸é TextÆÄÀÏÀÌ ÁÁ´Ù. ´ÙÀ½°ú °°Àº TextÆÄÀÏÀ» ÁغñÇÏÀÚ. º»ÀÎÀº ÆÄÀϸíÀ» deadfire.txt·Î Çß´Ù.

This is Test.

ÇѱÛÀԷºκÐ.

END

- Last Update : 2001.7.9 by Deadfire(http://www.deadfire.net)

CGI with C Ȱ¿ë
ºê¶ó¿ìÀú±¸ºÐ
ȯ°æº¯¼öLIST
Ŭ¶óÀ̾ðƮǮ
¼­¹öǪ½¬
Form Mail
ÁøÇàÇöȲº¸±â
Cookie
MD5
File Download
SSI
Redirection
File Upload
GD1.2
Database
¸¶Ä¡¸ç

Copyright ¨Ï 1997 ~, Deadfire Program Master