Загруженное имя файла с помощью X-Sendfile
Я использую X-Sendfile для отправки файла вместо readfile. Сценарий, обрабатывающий это, называется download.php и содержит это:
$video_file = '/path/to/file/file.mp4';
header('X-Sendfile: '.$video_file);
header('Content-Type: video/mp4');
header('Content-Disposition: attachment; file=\"file.mp4\"');
exit();
Но проблема в том, что загруженный файл всегда называется "download.php" (155 Мб), и я хотел бы скачать его с именем file.mp4. Я пробовал несколько вещей, как:
header('Content-Disposition: attachment; file="file.mp4"');
header('Content-Disposition: attachment; file=file.mp4');
И все остальные возможности, но все равно загрузка файла в виде download.php.
Мой файл htaccess содержит: XSendFile On
1 ответ
Решение
Вы отправляете неверный заголовок. Свойство filename называется filename
не name
:
header('Content-Disposition: attachment; filename="file.mp4"');
См. RFC2616 для подробного описания заголовка.