Forum Webscript.Ru

Программирование => Perl => Тема начата: restart2003 от 03 Ноября 2006, 23:30:15

Название: Докачка - файлархив на перле
Отправлено: restart2003 от 03 Ноября 2006, 23:30:15
Есть скрипт, отдающий файло.
Вот кусок кода, отвечающий непосредственно за отдачу:

print "Content-Length: $size\\n";
print "Content-Type: application/$ext\\n\\n";
binmode(STDOUT);
open (TXTFILE, "../../files/$file.$ext") || die;
while () {print}
close(TXTFILE);

Всё хорошо, но докачка не поддерживается. Как бы её прикрутить? Самолично видел perl-скрипты, отдающие файло и при этом поддердивающие докачку.
Название: Докачка - файлархив на перле
Отправлено: NeoNox от 05 Ноября 2006, 00:53:28
Смотреть  $ENV{HTTP_RANGE} и $ENV{HTTP_REQUEST_RANGE} а вообще http://www.faqs.org/rfcs/rfc2616 в части "14.16 Content-Range".
Название: Докачка - файлархив на перле
Отправлено: restart2003 от 05 Ноября 2006, 01:44:04
Угу, понял куда копать и всё сделал. Спасибо.
Название: Докачка - файлархив на перле
Отправлено: 2NetFly от 06 Ноября 2006, 13:38:09
Иногда проще сделать Location по относительному пути и возложить все обязанности по обработке докачки и пр. на плечи Apache.
Название: Докачка - файлархив на перле
Отправлено: restart2003 от 07 Ноября 2006, 23:51:38
2NetFly
Отдача идёт файлов извне веб каталога.
+ в дальнейшем будет разделение по юзерам, поэтому вариант с апачем отпадает.