Автор Тема: file upload  (Прочитано 14850 раз)

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

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
file upload
« Ответ #15 : 24 Января 2003, 19:35:29 »

дМС ОБЮБМБ ОХЦОП HTML ЧЩХЮЙФШ!
The documentations is your friend

Оффлайн Е. Перлов

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 21
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
file upload
« Ответ #16 : 24 Января 2003, 22:05:43 »
Цитировать
Чудак-человек, чем на форуме спрашивать, взял да и попробовал

А чё пробовать-то, у меня и так всё работает; но это не вселяет в меня слепую веру в то, что такая же работоспособность будет обеспечиваться и на других ОС.

Цитировать
http://www.w3.org/TR/html4/interact/forms.html#h-17.3

OK, thanks

Цитировать
дМС ОБЮБМБ ОХЦОП HTML ЧЩХЮЙФШ!

ЧЕУШ ЮФПМЙ?
« Последнее редактирование: 24 Января 2003, 22:10:55 от Е. Перлов »

Оффлайн YA

  • Модератор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 597
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
file upload
« Ответ #17 : 25 Января 2003, 09:11:29 »
Цитировать
ЧЕУШ ЮФПМЙ?
Именно!
Литературный перевод с русского и английского на Perl. Дорого!

Оффлайн Wyclef

  • hello_worlder
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thug.narod.ru
file upload
« Ответ #18 : 05 Февраля 2003, 08:40:22 »
Упс :(

При попытке закачки большого файла (>1mb) через web-форму - получаю ответ "Сервер не найден", с маленькимим файлами все ок. Где ответ поискать?

Здесь в форуме пробегала тема, что можно пользоваться сокетами и чем-то там, чтобы на фтп заливать с логином и паролем), киньте примерчик.
It\'s nice to be important, but it\'s more important to be nice!

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
file upload
« Ответ #19 : 05 Февраля 2003, 09:03:23 »
Цитировать
Здесь в форуме пробегала тема, что можно пользоваться сокетами и чем-то там, чтобы на фтп заливать с логином и паролем), киньте примерчик.

Поиск по форуму рулит.:)
2B OR NOT 2B = FF

Оффлайн Wyclef

  • hello_worlder
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thug.narod.ru
file upload
« Ответ #20 : 05 Февраля 2003, 09:09:59 »
рулит то он рулит... а ответа нету...
It\'s nice to be important, but it\'s more important to be nice!

Оффлайн Chs

  • Perl программер
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1108
  • +0/-0
  • 2
    • Просмотр профиля
    • http://chs.now.at/
file upload
« Ответ #21 : 05 Февраля 2003, 09:25:14 »
Цитировать
рулит то он рулит... а ответа нету...

Руки.:)
Искать по этому форуму. Ключевое слово ftp. Пятая строчка в списке результатов.
2B OR NOT 2B = FF

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
file upload
« Ответ #22 : 05 Февраля 2003, 17:01:39 »
Цитировать
При попытке закачки большого файла (>1mb) через web-форму - получаю ответ "Сервер не найден", с маленькимим файлами все ок. Где ответ поискать?

При попытке закачки файла > 40 kb, получаю ош. 500. Ответ очевидно у тех. поддержки хостинга, т.к. тот же код на другом хостинге (таком же бесплатном) закачивает (ну как минимум 500кб, проверено ) без проблем.
Отсюда вытек вопрос, может ли хостер ограничить этот обьем?
Все болезни от нервов, только сифилис от удовольствия

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
file upload
« Ответ #23 : 05 Февраля 2003, 17:13:48 »
Если я ничего не путаю, то это может быть лимит, установленный администратором в конфиге апача.
The documentations is your friend

Оффлайн Wyclef

  • hello_worlder
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thug.narod.ru
file upload
« Ответ #24 : 05 Февраля 2003, 22:50:03 »
Цитировать
Руки.
Искать по этому форуму. Ключевое слово ftp. Пятая строчка в списке результатов.


Глаза.:)
Ладно, но чего-то там бред какой-то... Забыли.

Вы мне вот, что скажите - меня конкретно интерисует такой механизм, реализУем или нет:

1. Есть multipart веб-форма для закачки.
2. Я делаю обзор, выбираю файл, посылаю.
3. Скрипт быстро это дело принимает, делает редирект куда-то (просто на др. URL - я могу уйти с него, закрыть браузер и т.д.)
4. Я иду пить чай или занимаюсь чем-то еще:), а в это время выбранный файл закачивается на сервер.

PLZ, Поверните меня в нужную сторону и давайте обсудим на пальцах... А то все чета вокруг до около, примеры бы какие...
It\'s nice to be important, but it\'s more important to be nice!

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
file upload
« Ответ #25 : 06 Февраля 2003, 11:11:01 »
Цитировать
3. Скрипт быстро это дело принимает, делает редирект куда-то (просто на др. URL - я могу уйти с него, закрыть браузер и т.д.)
4. Я иду пить чай или занимаюсь чем-то еще, а в это время выбранный файл закачивается на сервер.

Реализуем, только грабли расчищать будешь сам.
Точнее грабель не так уж много...
нужная сторона - perldoc -f fork
The documentations is your friend

Оффлайн Wyclef

  • hello_worlder
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thug.narod.ru
file upload
« Ответ #26 : 06 Февраля 2003, 16:24:36 »
Почему не загружались большие файлы вроде выяснил:

В .htaccess было прописано:
LimitRequestBody 131072

В логах сервера нарыл следующую запись:
... Request content-length of 1278353 is larger than the configured limit of 131072

Изменил на большее значение - файл закачался, но скрипт застревает на странице с формой пока не примет все данные, а только потом редиректит на др. адрес - соответственно пункт 3 не выполняется.

Цитировать
perldoc -f fork

Использовал код с fork-ом, но у меня подозрение, что он тут ни при чем... Код приведу в порядок и выложу чуть позже.
« Последнее редактирование: 06 Февраля 2003, 20:40:39 от Wyclef »
It\'s nice to be important, but it\'s more important to be nice!

Оффлайн Wyclef

  • hello_worlder
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thug.narod.ru
file upload
« Ответ #27 : 06 Февраля 2003, 18:08:22 »
Вот собсно:

загрузка -> редирект

а редирект -> загрузка? (вот в чем вопрос...)

upfile.pl


#!/usr/bin/perl
use strict;
use 
CGI qw(:standard);
my $Query = new CGI;
my $remote_path = \'/home/user/WWW/upload\';
my $success_url = \'success.html\';
my $local_path = $Query->param(\'upload\');
my $pid = fork();
if ($pid) {
	
print $Query->redirect( -url => $success_url );
	
wait;
	
exit 0;
} else {
	
$| = 1;
	
die "Cannot fork $!" unless defined $pid;
	
upload_file($remote_path.\'/\'.extract_name($local_path));
	
exit;
}

########################################
sub upload_file {
	
my $path = shift or return;
	
my $bytes;
	
my $buffer;
	
open F, ">$path" or die "Cannot open $path for writing\\n";
	
flock F, 2;
	
binmode F;
	
while ($bytes = read($local_path, $buffer, 4096)) {
	
	
print F $buffer;
	
}
	
die "Error reading uploaded file\\n" unless defined $bytes;
	
close F;
}

########################################
sub extract_name {
	
my $path = shift or die "Nothing to upload\\n";
	
$path = reverse $path;
	
$path =~ /([^\\\\\\/\\:]*)/;
	
$path = reverse $1;
	
return $path;
}


В коде: $path =~ /([^/:]*)/; исправить на: $path =~ /([^\\\\\\/\\:]*)/;

Форма



Upload








« Последнее редактирование: 07 Февраля 2003, 21:38:23 от Wyclef »
It\'s nice to be important, but it\'s more important to be nice!

Оффлайн Mog.

  • Фанат форума
  • Ветеран
  • *****
  • Сообщений: 828
  • +0/-0
  • 0
    • Просмотр профиля
file upload
« Ответ #28 : 06 Февраля 2003, 18:59:48 »
Вопрос спецам
Скрипт вызываемый методом ПОСТ запускается до того, как сервер получает весь запрос с телом, после приема всего запроса, после приема только заголовка запроса (еще варианты)?
Все болезни от нервов, только сифилис от удовольствия

Оффлайн Wyclef

  • hello_worlder
  • Старожил
  • ****
  • Сообщений: 307
  • +0/-0
  • 2
    • Просмотр профиля
    • http://thug.narod.ru
file upload
« Ответ #29 : 09 Февраля 2003, 00:21:04 »
И тишина... :(

Я так думаю организовать редирект до загрузки файла невозможно, т.е. только получил, переправил.

Есть идеи?

З.Ы. а в коде можно и без fork\'a обойтись.
It\'s nice to be important, but it\'s more important to be nice!

 

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