Изменить имя файла для файла, загруженного через mod_xsendfile

Я использую mod_xsendfile для загрузки / показа файлов на веб-странице. Это работает нормально, мне просто интересно, есть ли способ изменить имена файлов перед их отправкой?

Я думаю, мне придется временно скопировать / переименовать файл, чтобы справиться с этим? Что может быть неосуществимо для больших файлов (из-за тайм-аутов или, по крайней мере, времени ожидания).

Причина, по которой я спрашиваю, состоит в том, что у меня есть общедоступные файлы, к которым добавлен префикс пользователя, который поделился именем файла, поэтому вместо videofile.mp4 это скажет username__videofile.mp4— не имеет большого значения, это не значит, что загрузчик уже не знает, кто поделился файлом, он просто немного облегчит, если имя файла будет только исходным именем файла.

Я предполагаю, что временное копирование / переименование — единственный способ сделать это?

0

Решение

Нет необходимости делать временное копирование или переименование.
Просто сделай это:

header("X-Sendfile: {$sourceFilename}");
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=\"{$outFilename}\"");

Задавать $outFilename на любое имя, которое вы хотите.
Работает с Apache 2.4.9.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]