|
|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Artem Chuprina 2:5020/400 16 Dec 2003 16:01:12 To : Stas Tyurin Subject : Re: Отдать xls файл через скрипт -------------------------------------------------------------------------------- Stas Tyurin -> All @ Mon, 15 Dec 2003 15:01:33 +0000 (UTC): ST> Требуется отдать скриптом файл xls, пишу: ST> open(FILE, '<' . $path_to_file); ST> binmode(FILE); ST> { $/ = undef; $_ = <FILE>; } ST> close(FILE); ST> binmode(STDOUT); ST> print ST> "Content-Type: application/octet-stream" . "\n" . ST> "Content-Disposition: inline; filename=" . ($path_to_file =~ ST> /([^\/\\]+)$/)[0] . "\n" . ST> "Content-Length: " . length($_) . "\n" . ST> "\n" . $_; ST> ST> while (<FILE>) { print $_; } ST> close(FILE); ST> В результате содержимое экселевского файла выводится в браузер. Как быть? Вообще идея прочитать весь файл, закрыть его и потом читать и печатать его построчно - это сильно... Хотя и безвредно. Посредством inline ты вынуждаешь браузер вывести файл непосредственно. Что он и делает. Что тебя не устраивает? Кстати, лучше сначала вывести заголовки, и только потом переключить STDOUT в binmode. Впрочем, под юниксами - пофигу. -- Artem Chuprina RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757 --- ifmail v.2.15dev5.1 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/114778a93d2b8.html, оценка из 5, голосов 10
|