Добро пожаловать!
Здесь вы можете найти ответ на интересующий вас вопрос в отрасли сайтостроения, познакомится ближе с web технологиями и web стандартами.

Заметки

Скачивание файлов с нужным именем

При помощи PHP можно читать файлы и скачивать их через браузер, но при сохранении этого файла браузер сохранит его под именем скрипта. Например, файл download.php будет выдавать PDF-файл, но браузер всё равно сохранит его под именем download.php и правильно сделает, потому что отправляется не сам файл, а его содержимое, прочитанное скриптом. Вот пример такого скрипта:

<?php
// скачивание файла original.pdf
readfile('original.pdf');
?>

Выхода у нас два: или делаем перенаправление или посылаем файл как вложение.

Первый способ простой: вызываем функцию header("Location: /files/original.pdf"); скрипт завершается, а браузер начинает скачивание указанного файла.

Способ второй: используем дополнительные заголовки HTTP-ответа, чтобы браузер принял не просто данные, а как вложение (аналогия с вложениями в электронных письмах).

<?php
// сообщаем тип данных - PDF
header('Content-type: application/pdf');
// файл будет получен с именем downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');
// начинаем передачу содержимого любого файла, например original.pdf
readfile('original.pdf');
?>

При выполнении этого скрипта браузер предложит скачать и сохранить файл downloaded.pdf независимо от имени скрипта. Скрипт может называться как угодно. Напоминаю, что HTTP-заголовки в функции header() должны быть отправлены до начала отправки непосредственно данных, будьте внимательны.