Forum Webscript.Ru

Программирование => Perl => Тема начата: C++ от 10 Марта 2002, 22:05:39

Название: Парочка интересных вопросов!!!
Отправлено: 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) как на перле сделать, чтоб можно было передать не один файл, а несколько и он их закачал? т.е. я имею ввиду, можно ли создать такое поле ввода, куда можно поместить сразу же несколько файлов.
Спасибо:)
Название: Парочка интересных вопросов!!!
Отправлено: Chs от 11 Марта 2002, 09:55:21
1) Не факт, но на большинстве - да.
2) А куда интересно помещать закаченные данные? Файл-дескриптор, возвращаемый param ведь именно на этот временный файл и указывает.
3) Это не перл, а HTML. Сможете в нем задать?
Название: Парочка интересных вопросов!!!
Отправлено: от 11 Марта 2002, 13:02:22
Цитировать

2) А куда интересно помещать закаченные данные? Файл-дескриптор, возвращаемый param ведь именно на этот временный файл и указывает.

to Chs сенкс
только немного не понятно, когда эти файлы будут удалены? или мне это самому необходимо делать.
Цитировать

3) Это не перл, а HTML. Сможете в нем задать?

В хтмл я не знаю как сделать такую форму. А вообще можно?
Название: Парочка интересных вопросов!!!
Отправлено: C++ от 11 Марта 2002, 13:02:40
Цитировать

2) А куда интересно помещать закаченные данные? Файл-дескриптор, возвращаемый param ведь именно на этот временный файл и указывает.

to Chs сенкс
только немного не понятно, когда эти файлы будут удалены? или мне это самому необходимо делать.
Цитировать

3) Это не перл, а HTML. Сможете в нем задать?

В хтмл я не знаю как сделать такую форму. А вообще можно?
Название: Парочка интересных вопросов!!!
Отправлено: NeoNox от 11 Марта 2002, 13:26:20
Цитировать
В хтмл я не знаю как сделать такую форму. А вообще можно?

Стандартными средствами нет. Только Явой.
Цитировать
только немного не понятно, когда эти файлы будут удалены? или мне это самому необходимо делать.

Нет, они сами будут удалены по окончании загрузки/работы скрипта.
Название: Парочка интересных вопросов!!!
Отправлено: C++ от 13 Марта 2002, 10:20:15
#!/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);

Работает, но создаваемые временные файлы не удаляет. Файл весит столько же сколько и закачиваемый, является его копией, но другое имя.
Что нужно дописать чтобы они удалялись?
Спасибо