Forum Webscript.Ru
Программирование => Perl => Тема начата: C++ от 10 Марта 2002, 22:05:39
-
Всем добрый день!
Есть парочка вопросиков, ребят подсобите.
Написал свой первый скрипт, который закачивает файлы на сервак:
#!/usr/bin/perl
use CGI;
$q = new CGI;
$path_to_file=$q->param(\'file1\');
print $q->header;
print $path_to_file;
@path_part=split(/\\\\/,$path_to_file);
$file_name=$path_part[@path_part-1];
splice(@path_part,0);
print "
",@path_part;
print "
$file_name";
open(FILE, ">$file_name")||die;
binmode FILE;
print FILE $path_to_file;
close FILE;
так вот, работоспособность я смог проверить только на локальной машине.
1) Будет, ли он работать на любой машине где есть поддержка CGI?
2) при выполнении скрипт создает какие-то временные файлы, можно ли от этого избавиться?
3) как на перле сделать, чтоб можно было передать не один файл, а несколько и он их закачал? т.е. я имею ввиду, можно ли создать такое поле ввода, куда можно поместить сразу же несколько файлов.
Спасибо:)
-
1) Не факт, но на большинстве - да.
2) А куда интересно помещать закаченные данные? Файл-дескриптор, возвращаемый param ведь именно на этот временный файл и указывает.
3) Это не перл, а HTML. Сможете в нем задать?
-
2) А куда интересно помещать закаченные данные? Файл-дескриптор, возвращаемый param ведь именно на этот временный файл и указывает.
to Chs сенкс
только немного не понятно, когда эти файлы будут удалены? или мне это самому необходимо делать.
3) Это не перл, а HTML. Сможете в нем задать?
В хтмл я не знаю как сделать такую форму. А вообще можно?
-
2) А куда интересно помещать закаченные данные? Файл-дескриптор, возвращаемый param ведь именно на этот временный файл и указывает.
to Chs сенкс
только немного не понятно, когда эти файлы будут удалены? или мне это самому необходимо делать.
3) Это не перл, а HTML. Сможете в нем задать?
В хтмл я не знаю как сделать такую форму. А вообще можно?
-
В хтмл я не знаю как сделать такую форму. А вообще можно?
Стандартными средствами нет. Только Явой.
только немного не понятно, когда эти файлы будут удалены? или мне это самому необходимо делать.
Нет, они сами будут удалены по окончании загрузки/работы скрипта.
-
#!/usr/bin/perl
use CGI;
$CGI::POST_MAX=1024*1024;
$q = new CGI;
my $path_to_file=$q->param(\'file1\');
print $q->header;
sub upload
{
($path)=@_;
@path_part=split(/\\\\/,$path);
$file_name=$path_part[@path_part-1];
splice(@path_part,0);
open(FILE, ">$file_name")||die;
binmode FILE;
binmode $path;
print FILE while (<$path> );
close FILE;
}
upload($path_to_file);
Работает, но создаваемые временные файлы не удаляет. Файл весит столько же сколько и закачиваемый, является его копией, но другое имя.
Что нужно дописать чтобы они удалялись?
Спасибо