|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 18 Jul 2002 13:48:37 To : Alexey Antonenko Subject : Re: Трабла с закачкой на файла на сервер -------------------------------------------------------------------------------- Здравствуй, Alexey Antonenko. AA> Как поживаете, All ? AA> У меня вот тут такой вопрос по сабжевой теме. AA> Используя пример из Перла я выколупал такой код AA> use CGI qw(:standard); AA> print header(); AA> print start_multipart_form(), AA> "Enter the file to process:", AA> filefield('filename','',45), AA> br, AA> reset,submit('submit','Process File'), AA> endform; AA> if (my $file = param('filename')) { AA> my $tmpfile=tmpFileName($file); AA> close $file; AA> rename($tmpfile,"1.dat"); AA> } AA> Он работает, но когда я пытаюсь ему напрямую задать имя файла или то AA> что получаю через post метод из формы, он не работает. В чем тут дело? Вот этой фразы я не понял. Что значит "напрямую"? Hасколько я помню CGI.pm, он полученный из формы файл складывает в файловую систему и по param('filename') отдает имя файла, работающее по совместительству файлхендлом. Если ты не делаешь того же самого самостоятельно, то естественно, что оно не работает. AA> Т.е. я пишу так: AA> if (my $file = hashRef->{'File'}) { AA> my $tmpfile=tmpFileName($file); AA> close $file; AA> rename($tmpfile,"1.dat"; AA> } AA> enctype="multipart/form-data" в форме указан. Правда там есть еще и поля AA> ввода и комбобокс. AA> HTML код пишу вручную в Перле и переходить на что-то типа приведенного AA> вверху примера пока не хочу. А к HTML-коду это отношения не имеет. Вот к обработке запроса - имеет, и самое непосредственное. -- Artem Chuprina Communiware.net RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757 --- ifmail v.2.15dev5 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/144549aed5847.html, оценка из 5, голосов 10
|