|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Dmitry Alexandrow 2:5030/1419.1419 04 Feb 2005 02:36:19 To : Dmitry Kuzmin Subject : upload -------------------------------------------------------------------------------- 04 февраля 2005 года (а было тогда 00:35) Dmitry Kuzmin в своем письме к Evgeni Kubachev писал: >> Отправляю через форму имя файла, который необходимо закачать на >> сервер в папку upload. СGI-скрипт получает имя файла. Как >> реализовать закачку этого файла в нужную папку на сервере? DK> Показалбы код как ты это делаешь... ;) DK> Можно ревлизовать следующим образом: DK> форма - DK> <form action="/cgi-bin/upload.cgi" method="post" DK> enctype="multipart/form-data" name="Uploader" id="ImageUploader"> DK> <input name="file" type="file" id="filefield"> DK> <input type="submit" name="Send" value="Отправить"> DK> </form> DK> в upload.cgi - DK> #Для простоты доступа к параметрам DK> use CGI qw(param); DK> #получаем параметр file DK> my $file = param('file'); DK> # в скалярном контексте - это имя файла, но реално DK> # это дескриптор переданного файла. DK> # записываем переданный файл на диск DK> open(NEW_FILE, ">upload/new_file.123") || die '...'; DK> print NEW_FILE while (<$file>); DK> ... DK> пожалуй так... у меня так не помню насколько работоспособно 3 года назад делалось upload.cgi === Цитирую файл Windows Clipboard === main: #!/usr/bin/perl use strict; use CGI qw(:standard); use CGI::Carp qw(fatalsToBrowser); use File::Basename; my $file_name = &CGI::param('filename'); my $file = get_file ($file_name); save_file (); #--sub--- sub get_file { if ($ENV{'HTTP_USER_AGENT'} =~ /win/i) { fileparse_set_fstype ("MSDOS"); }; if ($ENV{'HTTP_USER_AGENT'} =~ /mac/i) { fileparse_set_fstype ("MacOS"); }; my $full_name = shift; $full_name = basename ($full_name); $full_name =~ s/\s/\_/g; return ($full_name); }; sub save_file { my $fsize; open (AAA, ">".$save_path."/".$file); while (<$file_name>) { print AAA; $fsize += length; }; close (AAA); }; === Конец цитаты === С уважением, Dmitry 04 февраля 2005 года ... Hет на Земле бога кроме AMD, и Сандерс пророк его. --- WinAmp >> "No Angels - There Must Be An Angel" * Origin: (2:5030/1419.1419) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/61154202d3f8.html, оценка из 5, голосов 10
|