发送给用户之前重命名文件?

时间:2011-07-14 14:05:07

标签: php download rename

这可能是一个非常简单和愚蠢的问题,但我不知道我会怎么做。

我正在为PHP中的客户端站点构建一些文件托管功能。我在一个目录中有一个中央文件库。这是因为如果多人上传相同的文件,客户端想要维护每个文件的一个副本(基于文件的“哈希”)。在将文件转储到此目录(datetime + some code)之前重命名文件以避免文件名冲突。该文件的原始名称保存在数据库中。

问题在于,当用户请求下载文件时,我不知道如何将文件重命名为原始文件名?我可以在另一个目录中创建它的临时副本,但我认为这会变得混乱。我希望有更好的方法。我看过另一篇帖子

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

但是在ASP中。有人能指出我正确的方向吗?

非常感谢

泰德

2 个答案:

答案 0 :(得分:9)

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');
?>   

答案 1 :(得分:0)

我不了解ASP,但也许这篇文章可以让你了解它。

Download file with ASP

以及有关它的一些参考ASP Response Object