LogIn E-mail
설계이야기
file upload
# 51 JMJS    01.3.16 13:00

CGI.pm을 사용하면 특별히 공부할 필요가 없습니다. 모듈이 알아서 다 해주니까요...

일부 사이트는 웹을 통해 홈페이지에 파일을 올리는 계정을 주는데... CGI 모듈을 이용해 파일을 업로드 하는 CGI의 핵심 코드는 5줄 밖에 되지 않습니다.

파일에 대한 설명은 자바 스크립트나 데이터 파일을 이용해서 추가하면 될 겁니다.

#!/usr/bin/perl -w
use CGI;
$q = CGI->new();

...
...
$file = $q->param('uploaded_file');
open(FILE, ">myfile");
while(<$file>){ print FILE $_; }
close($file);
close(FILE);
...
...


$upfile = $FORM{'file_name'};
@a = split(/\"/,$real_file);
@b = split(/\\/,$a[3]);
$t = @b;
$org_name = ($b[$t-1]);
$filename = "$main_dir/files/".$org_name;
if(-e $filename){
        $err = exist;
        &error;
}
open(FILE, ">$filename") || exit(1);
binmode FILE;
print FILE $upfile;
close FILE;


게시물: 100 건, 현재: 1 / 2 쪽
번호 제       목 작성자 등록일 방문
100  jsame.pl JMJS 09.5.21 1430
99  jos.pl JMJS 08.11.29 1185
98  jmngr.pl - jmjspro manager JMJS 08.11.29 1240
97  vhdl.pm JMJS 08.11.29 1226
96  jreg.pl JMJS 08.11.29 1231
95  jtree.pm JMJS 08.11.29 1263
94  w2c.pl JMJS 08.11.29 1239
93  jdread.pl JMJS 08.11.29 1071
92  ffile.zip ffilediff.pl JMJS 09.4.24 1119
91  rgb2ycbcr.pl JMJS 10.5.12 1324
90  proview.pl JMJS 08.11.29 1393
89  smi_shift.pl JMJS 10.10.3 1091
88  srt2smi.pl srtshift.pl JMJS 18.7.14 1246
87  Perl CGI Input Test, getenv.cgi JMJS 18.11.21 915
86  opendir, readdir, closedir JMJS 08.10.12 1190
85  tr a-z A-Z JMJS 08.10.3 1001
84  JARRAY->jfunc JMJS 08.10.2 999
83  수치함수 - ... JMJS 09.5.7 1391
82  역행렬3x3 JMJS 09.5.7 1507
81  hex2int.pl JMJS 10.9.12 2208
80  stat - file status 보기 JMJS 07.12.16 1076
79  Perl Tip JMJS 09.7.20 2097
78  SMI file sync delay JMJS 07.7.18 1190
77  rmword.pl JMJS 07.6.18 1096
76  [Perl]package AP jinsung 07.2.28 1025
75  [Perl]read_dir.pl JMJS 07.2.22 1273
74  [Perl]jtab2char - tab문자를 특정 char로 바꿔주기 JMJS 07.2.22 1190
73  Perl 숫자 Sorting JMJS 11.5.17 1342
72  [CGI]GET and POST JMJS 06.11.20 2744
71  Perl Grammer JMJS 06.9.4 2326
70  표준 모듈 JMJS 06.8.10 1502
69  Getopt::Long example JMJS 06.8.10 1680
68  array of array JMJS 06.4.22 1103
67  [HTML]테이블 배경에 그림넣기 JMJS 06.3.8 1191
66  l2w.pm - line to word JMJS 08.12.1 1159
65  make_random_chars JMJS 05.8.10 1046
64  mail 보내는 script JMJS 05.3.23 1018
63  실행파일을 실행시키고 표준에러 읽기 JMJS 09.2.25 1006
62  팝업창(공지창)띄우기 Jinsung 03.12.16 1956
61  print <<ENDLINE JMJS 03.12.5 1083
60  [HTML]Target JMJS 03.5.21 1119
59  [Perl]jutil.pm JMJS 03.5.3 1278
58  [Perl]jdiff.pl JMJS 02.6.6 1264
57  [Perl]cfilter.pm - commant filter JMJS 02.1.31 1306
56  [HTML]자동으로 다른 페이지 이동 JMJS 02.1.19 1172
55  Perl 설치하기 - ActiveWare JMJS 02.1.16 1145
54  opendir , readdir , closedir JMJS 02.1.4 1178
53  rand_diff JMJS 01.10.23 1086
52  vcd2v.pl JMJS 15.8.25 1186
51  file upload JMJS 01.3.16 1082
50  umask(070) <- chmod o-rwx 진성 01.3.16 1268
49  head2index 진성 01.3.15 972
48  grep.pl JMJS 11.1.20 1081
47  chr(13) = \M 진성 01.3.15 982
46  stty JMJS 01.3.12 1096
45  des.pl JMJS 01.3.8 1009
44  chr_plus.pl JMJS 01.3.8 1025
43  test JMJS 09.7.20 923
42  test JMJS 09.7.20 1130
41  read from website web JMJS 19.5.15 949
40  vec JMJS 01.3.8 1194
39  chomp $_ @_ say defined use 5.010 state grep any ... JMJS 18.10.27 1081
38  [Perl Tk] 도스창 없이, 펄 Tk 스크립트 실행하기; ... JMJS 17.9.30 1018
37  @bs = sort {$a <=> $b} @as; JMJS 17.7.12 1144
36  if ( -e -z -s -f -d -T -B -M ) JMJS 16.3.10 1188
35  mkmm.pl - make freemind JMJS 12.5.22 1164
34  perl -pi.orig -e "s/\bu_(\w+_t)\b/u$1/g" *.c JMJS 11.8.26 1177
33  .xls output csv 파일에 \n "가 있을때 JMJS 11.4.13 1055
32  jdcat.pl juncat.pl JMJS 11.2.24 1170
31  print chr(ord('a')); JMJS 01.3.8 1104
30  require "/user/home/jin1/jin1.pm"; JMJS 00.11.28 1045
29  for(my $i=0; $i < @abc; $i ++) {} JMJS 00.11.15 1130
28  remove blank $abc =~ s/[\s]+//g; JMJS 00.11.15 1084
27  array and for JMJS 00.11.14 938
26  홈페이지 자동 이동 JMJS 00.10.28 998
25  html에서 쓰이는 기호표시방법 JMJS 00.9.30 944
24  배열의 범위 연산자 JMJS 00.9.20 1185
23  for(1..3) { print "$_";} JMJS 09.4.24 958
22  package JMJS 00.9.18 984
21  줄에서 한글자 고치기 JMJS 00.8.7 1049
20  hotkey function by getc JMJS 00.7.21 1126
19  read, sysread, syswrite JMJS 00.7.21 1915
18  crypt JMJS 00.7.13 1176
17  csv2gan.pl JMJS 11.4.4 1258
16  hexa JMJS 00.7.7 1104
15  file in out.pl JMJS 00.7.5 1247
14  ARGV JMJS 00.7.5 1115
13  jtime.pm - localtime, timelocal JMJS 09.4.9 1523
12  @INC JMJS 00.7.5 1460
11  $#myarray JMJS 00.7.5 1195
10  Hash of Array JMJS 00.7.5 1028
9  package JARRAY JHASH JMJS 00.7.4 1199
8  foreach, while each, dos2unix.pl, next last JMJS 09.4.24 1198
7  치환 전이 JMJS 00.7.4 1027
6  file lock JMJS 00.7.4 1118
5  gettime JMJS 00.7.4 1111
4  [Perl]jcdread.pl JMJS 00.7.4 1199
3  [Perl]jdread.pl JMJS 00.7.4 1066
2  Hash Example JMJS 00.6.27 1106
1  DESTROY JMJS 09.7.20 1075
[1] [2]