Forum Webscript.Ru

Программирование => Perl => Тема начата: Error202 от 12 Января 2009, 23:07:04

Название: Загрузка файла
Отправлено: Error202 от 12 Января 2009, 23:07:04
Сохраняю файл так:

open (OUT,">file.doc") || die \'bad\';
binmode(OUT);  
while(<$file1>) {  print OUT $_; };  
close(OUT);
 

Форма:




 

Зарегистрировал пару аккаунтов, добавляю, все нормально...

Но в последнее время народ стал жаловаться, что файлы создаются, но остаются пустыми...
Эта штука не у всех...
С чем такое может быть связано?
Название: Загрузка файла
Отправлено: APL от 14 Января 2009, 14:51:55
while(<$file1> ) {  print OUT $_; };  

что в переменной $file1? должен быть указатель на уже открытый файл, ошибка потому что либо файл не был открыт, либо не смог его прочитать
Название: Загрузка файла
Отправлено: Error202 от 14 Января 2009, 14:56:08
$file1 = param(\'file1\');

Получает внешний файл по указанной в 1-ом сообщении форме...
Название: Загрузка файла
Отправлено: APL от 14 Января 2009, 15:07:01
1. Что за функция param()???

2. $file1 должен содержать  ДЕСКРИПТОР ФАЙЛА

например так open (IN,"in") || die \'bad\';
$in = IN;
open (OUT,">out") || die \'bad\';
binmode(OUT);  
while(<$in> ) {  print OUT $_; };  
close(OUT);
Название: Загрузка файла
Отправлено: Phoinix от 15 Января 2009, 12:07:30
APL

...
use CGI qw/param/;
...
my $file = param(\'file\');
...

Если не знаешь что содержится в $file, то читаем доки: CGI (http://search.cpan.org/search?query=CGI&mode=module)

Error202

Вообще , проверь $CGI::POST_MAX
А так, нужно смотреть конкретные случаи ошибок, как минимум лог.