¾ÆÀ̵ð ºñ¹Ð¹øÈ£ | ȸ¿ø°¡ÀÔ | ºñ¹Ð¹øÈ£ºÐ½Ç
   
¡¡»õ·Î¿î¼Ò½Ä
¡¡FAQ
¡¡À¥ÇÁ·Î±×·¥
¡¡À¥DB
¡¡À¥¼­¹ö
¡¡À¥ÇÁ·Î±×·¥¼öÁ¤
¡¡ÇØÇÇÄ®·³
¡¡°ñµåÆÁ
 
Á¦ÀÛÀÇ·Ú
À¥ÇÁ·Î±×·¥ ÆǸŸô
 
ÇöÀçÀ§Ä¡: ¸ÞÀÎ ÇØÇÇÆ÷·³ Ȳ±Ý : °Ô½Ã¹° Àбâ
  2003-11-16 (17:21:59) from 211.107.151.176
  ÀÛ¼ºÀÎ : HappyCGI Á¶È¸¼ö : 3565   
Á¦¸ñ : [perl] ÆÄÀÏ ¾÷·Îµå ·çƾ

ÇØÇÇCGI ÀÔ´Ï´Ù.

ÆÄÀÏ ¾÷·Îµå¸¦ À§Çؼ­ ¶óÀ̺귯¸®¸¦ »ç¿ëÇϰųª ȤÀº ³²ÀÌ ¸¸µé¾î ³õÀº ¼Ò½º¸¦ °¡Á®´Ù ¾²´Â °æ¿ì°¡ ¸¹½À´Ï´Ù.

Àú ¿ª½Ã ±×·¸ÁÒ.

Áß°£ ÄÚµù½Ã ¿À·ù°¡ ³ª¸é Âü ³­°¨ÇÒ¶§°¡ ¸¹½À´Ï´Ù. (¿Ö ¾ÈµÇ´ÂÁö ÀÌÇØ°¡ ¾È°¡¼­)

ÆÄÀÏ ¾÷·ÎµåÀÇ ÀÌÇظ¦ À§Çؼ­´Â gif ³ª ȤÀº jpg ȤÀº ´Ù¸¥ ¹ÙÀ̳ʸ® ÆÄÀϵéÀÌ ¾î¶² Çü½ÄÀ¸·Î

¸¸µé¾îÁ®ÀÖ´ÂÁö¸¦ ÀÌÇظ¦ ÇÏ¸é ¾÷·ÎµùÀÌ ¾ÆÁÖ ½±½À´Ï´Ù.

¾÷·Îµå¿¡ ´ëÇØ ¸·¿¬ÇÑ µÎ·Á¿òÀ» °®°í ÀÖ´Ù°¡ ¾à ÀÏÁÖÀϸ¸¿¡ (¾ÆÁÖ ¿¹ÀüÀÏÀÔ´Ï´Ù. ^^)

¸¸µç ÄÚµåÀÔ´Ï´Ù.

¾Æ·¡ÄÚµå´Â Á¦°¡ Áñ°Ü ¾²´Â ÄÚµåÀÔ´Ï´Ù. Âü°íµÇ½Ã±æ...

 

[ÇÁ·Î±×·¥ÄÚµå]
#!/usr/bin/perl


$basedir  = "ÆÄÀÏÀúÀå Àý´ë°æ·Î¸¦ ÁöÁ¤";
#¿¹¸¦ µé¸é $basedir  = "/home/happycgi/public_html/file"; ÀÌ·±½ÄÀ¸·Î..

my $buffer;
 
 $time = time;
$work = $ENV{"QUERY_STRING"};
@pairs_end = split(/&/, $work);
foreach $pair (@pairs_end) {
   ($kname, $value) = split(/=/, $pair);
   $value =~ tr/+/ /;
   $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
   $END{$kname} = $value;
 }

 if ($ENV{'REQUEST_METHOD'} eq "POST") {
  binmode STDIN;
  read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
 }
 else { $buffer = $ENV{'QUERY_STRING'}; }
 my ($qx_name, $value);
 if ($buffer !~ /\n/) {
  for (split /&/, $buffer) {
   ($qx_name, $value) = split /=/;
   $qx_name =~ y/+/ /; 
   $qx_name =~ s/%(..)/chr hex $1/ge;
   $value =~ y/+/ /; 
   $value =~ s/%(..)/chr hex $1/ge;
   $$qx_name = $value;
  }
 }
 else { # ÆÄÀÏ ¾÷·Îµå
  my ($qx_name, $value);
  my ($border) = ($buffer =~ /^(.+?)\r?\n/);
  $buffer =~ s/${border}--$//;
  my $bad_char = '`~!@#%^&*()|,<>?;:\'"[]{}';

  for (split /$border/, $buffer) {

   next if $_ eq '';
   s/^\r?\n//;

   if (/name="FILE(\d+)"; filename="(.+?)"/i) {
 my ($FILE_VAR) = $1;
    next if $2 eq '';
 
 my ($FILE_NAME) = $2 =~ m{([^\\^/]+)$};
 $FILE_NAME =~ s/[$bad_char]//g;
 #ÆÄÀÏÀ̸§ ¹è¿­ÀúÀå
    $FILES{'file'}->{name} = $FILE_NAME;
    s/^.+?\r?\n\r?\n//s;
    s/\r?\n$//s;
  if($_ eq '') {
   $FILES{'file'}->{name} = '';
   next;
  }
  else {
  open (A,">$basedir/$time-$FILE_NAME");
  binmode(A);
  print A $_;
  close (A);
  }
  #ÆÄÀϳ»¿ë ¹è¿­ÀúÀå
  #$FILES{'file'}->{data} = $_;
     my ($File_Name_In) = "FILE" . "$FILE_VAR";
  $Field{$File_Name_In} = $FILE_NAME;

  }
 
  else {
   s/^.+?name\=\"(\S+?)\"\r?\n\r?\n(.+?)\r?\n$//s;
   ($qx_name = $1) =~ tr/\r//d;
   ($value = $2) =~ tr/\r//d;
   $$qx_name = $value;
  }
 } #for
}#else

 

À§ ·çƾÀº Æû°ª Áï post¿¡¼­ ¹Þ¾Æ¿Â name °ªÀ» ±×´ë·Î º¯¼ö°ªÀ¸·Î Àü´ÞÇØÁÝ´Ï´Ù.

<input type=text name=haha value="¸ÓÁö">

¶ó´Â °ªÀº À§ ·çƾÀ» Åë°úÇϸ鼭 $haha ¶ó´Â °ª¿¡ "¸ÓÁö" °¡ ¹Ù·Î µé¾î°¡°Ô µÇ¾îÀÖÁÒ.

÷ºÎµÇ´Â ÆÄÀÏ °¹¼ö´Â Á¦ÇѾøÀÌ ¿Ã¸±¼ö ÀÖ½À´Ï´Ù

÷ºÎµÇ´Â ÆÄÀϳ×ÀÓ°ªÀº ¸¸µå½Ã FILE1,FILE2 ¿Í °°Àº Çü½ÄÀ¸·Î ÇØ¾ß ÇÕ´Ï´Ù.

¾Æ·¡ ó·³ ¸»ÀÌÁÒ.

<input type=file name=FILE1>

÷ºÎµÇ´Â ÆÄÀϳ×ÀÓ°ªÀº  $Field{'FILE1'} ·Î ¹Þ°Ô µË´Ï´Ù.

À§ÀÇ ÀÏ¹Ý text³ª select , radio °ªÀ» ¹Þ´Â °Í°ú Çü½ÄÀÌ Á¶±Ý ´Ù¸£ÁÒ? ^^


ÆÄÀÏ¿¡ ´ëÇÑ Á»´õ ±íÀº ÀÌÇظ¦ ¹Ù¶ó¸ç~ ^^




HappyCGI's SIGN
°³¹ßÀÚÀÇ ¹Ì´öÀº

°ÔÀ¸¸§(Laziness)
ÂüÁö¸»±â(Impatience)
±³¸¸(Hubris)


   ¸Þ¸ð
jutammu
2004-02-23
16:59:55
±ÇÇѼ³Á¤Àº ¾î¶»°Ô ÇؾßÇϳª¿ä?
±×¸®°í form nameÀº ¾Æ¹«·¸°Ô³ª Çصµ »ó°üÀÌ ¾ø´ÂÁö¿ä?

:³×¸Â¾Æ¿ä: :È­³ª´Â±º¿ä: :Àá¿Í: :¿ì¿ïÇØ: :À̰ǾƳÄ: :¿ÕÇÏÇÏ: ¿Õ¿ôÀ½~ ³î·¥~

  

 
¨Ô
Á¦¸ñ
ÀÛ¼ºÀÎ
Á¶È¸
µî·ÏÀÏ
[perl] ÆÄÀÏ ¾÷·Îµå ·çƾ
HappyCGI
3566
2003-11-16
 



  HOME | ȸ»ç¼Ò°³ | Á¦ÀÛÀÇ·Ú | °³ÀÎÁ¤º¸Ãë±Þ¹æħ | CGIMALL | ÀÚ·á½Ç | »çÀÌÆ®µî·Ï | ·©Å·100 | Æ÷·³ | Ãʺ¸°¡À̵å | Áú¹®°ú´äº¯ | ¹è³Ê±¤°í
Copyright¨Ï1997~2008 HappyCGI All rights reserved
Powered By HappyCGI