Переименовать файл перед отправкой пользователю? - PullRequest
3 голосов
/ 14 июля 2011

Вероятно, это очень простой и глупый вопрос, но я понятия не имею, как мне поступить.

Я строю некоторые функции хостинга файлов для клиентского сайта на PHP.У меня есть центральное хранилище файлов в одном каталоге.Это связано с тем, что клиент хочет сохранить одну копию каждого файла (на основе «хеша» файла), если несколько человек загружают один и тот же файл.Файлы переименовываются перед сохранением их в этот каталог (дата-время + некоторый код), чтобы избежать конфликта имен файлов.Исходные имена файлов хранятся в базе данных.

В чем проблема, так это в том, что я понятия не имею, как бы я переименовал файл в исходное имя файла, когда пользователь запрашивает загрузкуЭто?Я мог бы создать временную копию этого в другом каталоге, но я думаю, что это будет грязно.Я надеюсь, что есть лучший способ.Я видел другой пост с

Response.AppendHeader("content-disposition", "attachment; filename='MyFile.jpg'"); 

, но это в ASP.Кто-нибудь может указать мне правильное направление?

Большое спасибо

Тед

Ответы [ 2 ]

9 голосов
/ 14 июля 2011

в PHP похоже: см. функцию header

Из примера на этой странице:

<?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');
?>   
0 голосов
/ 14 июля 2011

Я не понимаю, что такое ASP, но, возможно, эта статья поможет вам разобраться в этом.

Загрузите файл с ASP

и некоторые сведения о нем ASP Response Object

...