Отдать файл под другим именем

Benderlio

Новичок
Отдать файл под другим именем

Добрый день,
есть фтп. на нем фильмы в папках вида 1/1.avi 2/2.avi и т.д.
есть веб интерфейс со ссылкой на файл 1/1.avi
как то можно отдавать файл с другим именем, т.е. давать ссылку на человеческое название Робокоп.avi
Может как-то модрерайтом есть возможность?

т.е. переименовать на лету и скачать файл с нормальным именем.

Пардон за сумбур, надеюсь понятно.
Спасибо.
 

A1x

Новичок
надо отдавать контент с соответствующими заголовками, где указывается имя файла которое появляется при даунлоаде

для этого например можно использовать готовый пеар класс HTTP_Download
[в соседней теме этот же вопрос]
 

Dovg

Продвинутый новичок
Надо добавить заголовок
Content-Disposition: attachment; filename="robocop.avi"

Какими средствами это сделать - выбирай сам.
в nginx, например, есть директива add_header
 

Benderlio

Новичок
нашел такой вариант.

$filename_enc = urlencode($link);
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=kino.css");
echo(file_get_contents("ftp://127.0.0.1/pub/films/06/1096/01/1096_01_01.mkv"));

а вообще 2 гига таким образом нормально отдавать? или там нагрузка и т.д.??
 

mity

Новичок
И что 2 гига реально отдаётся?
Я бы читал и отдавал файл кусками по мегабайту.
 

dimagolov

Новичок
filename=kino.css.... 1096_01_01.mkv
это круто

нельзя отдавать большие (больше пары десятков килобайт) файлы скриптами. их нужно отдавать через модули веб-серверов типа x-send-file
 

Benderlio

Новичок
dimagolov
да то тестовый вариант.
спасибо, буду смотреть на x-send-file
 

Splurov

Новичок
Benderlio
На будущее, для вывода файлов нужно использовать не echo + file_get_contents, а readfile.
И ещё желательно заголовок Content-Length посылать.
 

SiMM

Новичок
> echo(file_get_contents("ftp://127.0.0.1/pub/films/06/1096/01/1096_01_01.mkv"));
Мсье знает толк в извращениях.
А вообще - что мешает заюзать mod_rewrite и вместо ссылки 1/1.avi давать ссылку с таким именем, с каким и требуется? А то и вовсе переименовать файл и не заморачиваться?

> На будущее, для вывода файлов нужно использовать не echo + file_get_contents, а readfile.
В любом случае тянуть локальный файл через FTP - извращение.
 
Сверху