Forum Webscript.Ru
Программирование => Perl => Тема начата: WG от 02 Апреля 2004, 22:57:17
-
Проблема следующая: нужно чтобы при нажатии на ссылку файл (text.doc), он не открывался в браузере а предлагалось его download. Если я пишу:
download.pl
#!/usr/bin/perl
##############
$filename = \'text.doc\';
$bytes = -s "$filename";
open(FILE,"$filemame");
binmode FILE;
read(FILE,$file,$bytes);
close(FILE);
print "Content-type: application/force-download\\n";
print "Content-Disposition: attachment; filename=$filename\\n";
print "Content-length: $bytes\\n\\n";
binmode STDOUT;
print $file;
то при этом файл сохраняется с нулевой длиной (пустой)
и при появлении окна загрузки выдается не имя документа а имя скрипта, что не так?
-
open(FILE,"$filemame");
-----------------------^
perldoc strict
perldoc warnings
-
У меня работает это :
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;