Автор Тема: Передача файла из скрипта , клиенту...  (Прочитано 4355 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Karabas

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://karabas.da.ru
Передача файла из скрипта , клиенту...
У меня это делает такой скриптец :

sysopen(FILE, "$file", O_RDONLY);
binmode(FILE);
@sabj = ;
close(FILE);
binmode(STDOUT);
print "Content-Disposition: multipart\\/form-data\\; filename=\\"$name\\" \\n\\n";
print @sabj;


Можнт и по ламерски написано, но всё работает....
Единственное , что мне не нравится, это то что при большом размере файла, скипт его пока прочитает в буфер....
Это жутко грузит сервер....
Может кто знает как переделать, что-б скрипт читал файл по мере его отправки ...

И ещё.....
Как сделать что-б из этого-же скрипта , клиенту отправлялась сначала страничка HTML ( типа предупреждение о посылке файла), а потом сам файл.....
Спасибо....

Не кликай тут своей мышою !

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
Передача файла из скрипта , клиенту...
« Ответ #1 : 11 Апреля 2004, 14:28:42 »
1. Как один из вариантов
#!/usr/bin/perl -w
use strict;
my $file="doc.zip";
print 
"Content-type: application/octetstream\\n";
print 
"Content-length: ",-s $file,"\\n";
print 
"Content-disposition: inline; filename=\\"",$file,"\\"\\n\\n";
open(FILE"$file");
binmode FILE;
binmode(STDOUT);
while(
read(FILEmy $data1024)){print $data}
close FILE;


2. Перлом, по моему, никак
Все болезни от нервов, только сифилис от удовольствия

Оффлайн Karabas

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://karabas.da.ru
Передача файла из скрипта , клиенту...
« Ответ #2 : 11 Апреля 2004, 15:42:47 »
Спасибо большое....
Классно заработал такой вариант.....

sysopen(FILE, "$file", O_RDONLY);
print "Content-Disposition: multipart\\/form-data\\; filename=\\"$name\\" \\n\\n";
binmode FILE;
binmode(STDOUT);
while(read(FILE, my $data, 1024)){print $data}
close FILE;

Теперь даже большие файлы уходят легко и просто с небольшой загрузкой системы, ведь скорость чтения с харада намного больше скорости передачи..... :)
:)

Не кликай тут своей мышою !

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
Передача файла из скрипта , клиенту...
« Ответ #3 : 11 Апреля 2004, 16:59:21 »
Цитировать
Karabas:
multipart\\/form-data\\;
Э... Грешным делом, всегда думал, что это дело для наоборот клиент->сервер.
Все болезни от нервов, только сифилис от удовольствия

Оффлайн Karabas

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://karabas.da.ru
Передача файла из скрипта , клиенту...
« Ответ #4 : 11 Апреля 2004, 21:02:42 »
Mog.
Цитировать
Mog.:
Э... Грешным делом, всегда думал, что это дело для наоборот клиент->сервер.

Э...э...э, а какая разница в каком направлении данные идут....? :(

Не кликай тут своей мышою !

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
Передача файла из скрипта , клиенту...
« Ответ #5 : 12 Апреля 2004, 08:28:44 »
Karabas! Э... может ты и прав :)
Все болезни от нервов, только сифилис от удовольствия

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Передача файла из скрипта , клиенту...
« Ответ #6 : 12 Апреля 2004, 18:00:09 »
Цитировать
Karabas:
Как сделать что-б из этого-же скрипта , клиенту отправлялась сначала страничка HTML ( типа предупреждение о посылке файла), а потом сам файл.....

посылается страница в которой есть рефреш с путем к файлу.
The documentations is your friend

Оффлайн Karabas

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://karabas.da.ru
Передача файла из скрипта , клиенту...
« Ответ #7 : 13 Апреля 2004, 00:43:02 »
NeoNox
Да.... наверное только так и получится.... :(
Придётся пол дописывать :) , чтоб делал рефреш сам на себя...
И при втором заходе уже слал файл ...

Не кликай тут своей мышою !

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
Передача файла из скрипта , клиенту...
« Ответ #8 : 13 Апреля 2004, 08:39:45 »
Цитировать
Karabas:
предупреждение о посылке файла
А какой смысл в этом?
Все болезни от нервов, только сифилис от удовольствия

Оффлайн Karabas

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://karabas.da.ru
Передача файла из скрипта , клиенту...
« Ответ #9 : 14 Апреля 2004, 03:51:26 »
Mog.
.... ну... незнаю.... симпатичней... :)

Не кликай тут своей мышою !

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28