Как реализовать сохранение файла под заданным именем

Master99

Новичок
Как реализовать сохранение файла под заданным именем

Подскажите пожалуйста, как реализовать следующую процедуру:


На сервере лежит файл file_rus.exe

Нужно, чтобы при клике по ссылке http://www.server.ru/file_rus.exe?id=15 пользователю выскакивало бы окошко и предлагало сохранить или выполнить файл file_15_rus.exe (это тот же file_rus.exe только переименованный), где 15 - это значение, которое передается через переменную $id.

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

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

Пока никак не могу найти решения данного вопроса. Может кто-нибудь сталкивался с похожей проблемой?
 

msdn11

Новичок
а в мануал заглянуть?
PHP:
<?php
// We'll be outputting a PDF
header('Content-type: application/pdf');

// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');

// The PDF source is in original.pdf
readfile('original.pdf');
?>
 

Master99

Новичок
Попробовал использовать указанную конструкцию, - не получается.

Сначала выдает 2 ошибки:
Cannot modify header information - headers already sent by ...

Потом начинается загрузка exe файла прямо в окно браузера, в таком духе:

======
U‹мѓмD‹ESVW‹Ќp‹@‰MИ‹ЋЁ› ‹ћ ‰EМ‹† ‰EА‹†¤› ;И‰MРs+БH닆 › +Б‰EФйГ я$…O@ ѓ}М „В ‹EИяMМ‹Л¶ Уа EАяEИѓГ
======

И так на весь экран, что я делаю не так?
 

msdn11

Новичок
Автор оригинала: Master99
Попробовал использовать указанную конструкцию, - не получается.

Сначала выдает 2 ошибки:
Cannot modify header information - headers already sent by ...

Потом начинается загрузка exe файла прямо в окно браузера, в таком духе:

======
U‹мѓмD‹ESVW‹Ќp‹@‰MИ‹ЋЁ› ‹ћ ‰EМ‹† ‰EА‹†¤› ;И‰MРs+БH닆 › +Б‰EФйГ я$…O@ ѓ}М „В ‹EИяMМ‹Л¶ Уа EАяEИѓГ
======

И так на весь экран, что я делаю не так?
1)имя на форуме надо менять
2)у вас выводится текст, до кода который я написал, а этого быть не должно.
 
Сверху