From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: To: community@altlinux.ru Subject: Re: [Comm] file uploading via http References: <426F3166.1060506@ngs.ru> <200504270841.31475.tosick@altlinux.ru> Message-ID: Date: Wed, 27 Apr 2005 09:44:25 +0400 From: "Aleksander N. Gorohovski" Organization: DonNTU Content-Type: text/plain; format=flowed; delsp=yes; charset=koi8-r MIME-Version: 1.0 Content-Transfer-Encoding: 8bit In-Reply-To: <200504270841.31475.tosick@altlinux.ru> User-Agent: Opera M2/7.54 (Linux, build 751) X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: community@altlinux.ru List-Id: Mailing list for ALT Linux users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 27 Apr 2005 06:41:31 -0000 Archived-At: List-Archive: List-Post: On Wed, 27 Apr 2005 08:41:21 +0300, Stanislav Yadykin wrote: > В сообщении от Среда, 27-Апр-2005 09:29 Denis G. Samsonenko написал(a): >> День добрый! >> >> Не подскажет ли кто, как делается upload файлов через http. Как сделать >> форму с кнопкой я нашёл, а вот как это должно обрабатываться >> cgi-скриптом -- нет. >> >> Мне надо сделать, чтобы можно было закачивать на сайт файлы через >> html-форму. Обрабатывающий cgi-скрипт хочу писать на bash. > > На баше - сомневаюсь в целесообразности. Присоединяюсь к этому мнению. Большой геморой. :-) > На преле - perldoc CGI в раздел file uploads А на perl это будет рулить за милую душу. Могу подарить нужный Вам фрагмент из собственных сочинений: :-) ----------------------------------------------------------------- use CGI qw(:standard :netscape); print start_html(-title=>"Download File", -author=>'angel@feht.dgtu.donetsk.ua', -meta=>{'copyright'=>'copyright 2002-2005 Aleksander N.Gorohovski'}, -encoding=>'koi8-r', -BGCOLOR=>'white'); if ($Step eq 'One') { print start_multipart_form(), i('Укажите место хранения (путь) и имя своего файла (*.csv) с выполненной работой:

'), center( filefield(-name=>'filename', -default=>'example.csv', -size=>60, -maxlength=>80), p,$hid,reset('reset','Очистить поля'),'    ', submit('submit','Переслать и проверить файл'),hr(),endform); } # Обработка результатов if (my $file = param('filename')) { print center(h3("Итоги предварительного анализа полученной информации")), i("От Вас получен файл данных: "),b($file),br; my $MyFile="MyFile"; open(DEST,">$MyFile") || print "Er:file
"; while (<$file>) { print DEST; } close(DEST); close $file; } ----------------------------------------------------------