Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> mpd_perl2: Частичная загрузка фaйла с формы 
:(
    Опции темы
Lektor
Дата 12.4.2009, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 17.5.2007

Репутация: нет
Всего: нет



Ребята, помогите пожалуйста своять скрипт.

Клиент через форму загружает файл на сервер, нужно следующее: чтоб на серв загружалось только n мбайт и потом загрузка(передача) 
прекращалась.

Например юзер шлет 10 мбайт файл, он заливается на сервер, как только 5 мб загрузилось, загрузка прекращается.
Я тут набросал:

Код

use CGI qw(:standard);  
use File::Temp qw(:POSIX);  
 
 
my $fh = tmpfile(); #дескриптор временного файла  
my $cgi = CGI->new(\&hook); #устанавливаем функцию обработчик на приходящий  файл  
my $remote = $cgi->param("video"); #получаем имя файла который отправляет пользователь, имя может пригодиться  
 
close $fh; 
 
    sub hook 
    { 
            my ($filename, $buffer, $bytes_read, $data) = @_; 
        open (OUTFILE,">>d:/temp2/".$filename); 
        binmode OUTFILE; 
        if ($bytes_read < 1048576) { 
            print OUTFILE $buffer; 
        }else{ 
                                     ## как бы дропнуть передачу файла . 
                                      exit; 
        } 
 
    } 
 

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

я полагаю надо смотреть в сторону http://httpd.apache.org/apreq/docs/libapre...disable_uploads но сам не справлюсь ... 
я на перле вообще не пишу.. пишу на пхп, но он тут не справляется с задачей поэтому хочу эту форму обработать перл скриптом ...

Это сообщение отредактировал(а) Lektor - 12.4.2009, 23:30
PM MAIL   Вверх
gcc
Дата 12.4.2009, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Агент алкомафии
****


Профиль
Группа: Участник
Сообщений: 2691
Регистрация: 25.4.2008
Где: %&й

Репутация: 1
Всего: 17



Код

 $CGI::POST_MAX = 262144; 



Код

system("kill -9 $$");



Это сообщение отредактировал(а) gcc - 13.4.2009, 00:14
PM WWW ICQ Skype GTalk Jabber   Вверх
Lektor
Дата 13.4.2009, 01:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 17.5.2007

Репутация: нет
Всего: нет



ну ... это как гвозди миксером забивать )

постараюсь найти что-то поэлегантней ...
PM MAIL   Вверх
Lektor
Дата 13.4.2009, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 17.5.2007

Репутация: нет
Всего: нет



Ребята, а может кто обьяснить как работает (на примере)

disable_uploads
Код

$req->disable_uploads()

Цитата

Engage the disable_uploads hook for this request.


а то в доке два слова тока написано ..

Это сообщение отредактировал(а) Lektor - 13.4.2009, 13:20
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0424 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.