½ÃÀÛÆäÀÌÁö·Î Áñ°Üã±âÃß°¡
·Î±×ÀÎ
ȸ¿ø°¡ÀÔ l Ã⼮üũ l ¸¶ÀÌÆäÀÌÁö l CGIMALL
ÀÚ·á½Ç »çÀÌÆ®µî·Ï ·©Å·100 ÇÁ·Î±×·¥¸®ºä °ü¸®ÀÚÃßõÀÚ·á Ãʺ¸°¡À̵å
Ä¿¹Â´ÏƼ
Àüü ÆîÃ帱â
Äü¸Þ´º¸µÅ© jquery , CSS , PHP , Javascript , ¹«·áÆùÆ® , ASP
»ó¼¼°Ë»ö
Ȩ > Ä¿¹Â´ÏƼ > °ñµåÆÁ »ó¼¼º¸±â
Ä¿¹Â´ÏƼ ±¸Àα¸Á÷
»çÀÌÆ®µî·Ï
Ŭ¶ó¿ìµåű×
Javascript
PHP
HTML
ASP
mysql
CSS
mobile
jquery
image
slide
�޴�
������Ʈ
¸Þ´º
ÇöÀçÁ¢¼ÓÀÚ ¸í »õ·Î°íħ
°Ô½ÃÆÇŸÀÌƲ °ñµåÆÁ / »ó¼¼º¸±â
Æ®À§ÅÍ·Î º¸³»±â
Ãßõ¼ö 299 | Á¶È¸¼ö 4,127 | µî·ÏÀÏ 2003-11-16 17:21:59

´Ð³×ÀÓ

HappyCGI

Á¦¸ñ

[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 °ªÀ» ¹Þ´Â °Í°ú Çü½ÄÀÌ Á¶±Ý ´Ù¸£ÁÒ? ^^


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

Ãßõ½ºÅ©·¦¼Ò½ºº¸±â ¸ñ·Ï
jutammu 2004-02-23 16:59:55
´ä±Û

±ÇÇѼ³Á¤Àº ¾î¶»°Ô ÇؾßÇϳª¿ä?
±×¸®°í form nameÀº ¾Æ¹«·¸°Ô³ª Çصµ »ó°üÀÌ ¾ø´ÂÁö¿ä?

ÀÌÀü°Ô½Ã±Û [Ãʺ¸ÆÁ] cgi ÆÄÀÏÀ» ¼öÁ¤ÇÒ¶§ ÁÖÀÇÇÒÁ¡µé 2003-10-14 10:37:54
´ÙÀ½°Ô½Ã±Û ÇöÀç »çÀÌÆ®¿¡ ¸ÔÈù ÄíÅ°º¸±â 2003-12-19 16:21:15