[Comm] file uploading via http
Aleksander N. Gorohovski
=?iso-8859-1?q?angel_=CE=C1_feht=2Edgtu=2Edonetsk=2Eua?=
Ср Апр 27 09:44:25 MSD 2005
On Wed, 27 Apr 2005 08:41:21 +0300, Stanislav Yadykin <tosick на altlinux.ru>
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) с
выполненной работой:<BR><BR>'),
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<BR>";
while (<$file>) {
print DEST;
}
close(DEST);
close $file;
}
----------------------------------------------------------
Подробная информация о списке рассылки community