2011-07-14 52 views
3

這可能是一個非常簡單而愚蠢的問題,但我不知道如何去做這件事。在發送給用戶之前重命名文件?

我正在PHP中爲客戶端網站構建一些文件託管功能。我在一個目錄中有一箇中央文件庫。這是因爲如果多個人上傳相同的文件,客戶端想要維護每個文件的一個副本(基於文件的「散列」)。在將文件轉儲到此目錄(日期時間+某些代碼)之前,文件被重命名以避免文件名衝突。文件的原始名稱保存在數據庫中。

問題出在哪裏,我不知道如何在用戶請求下載文件時將文件重命名爲原始文件名?我可以在另一個目錄中創建它的臨時副本,但我認爲這會變得混亂。我希望有更好的方法。我看到另一個帖子與

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

但這是在ASP中。任何人都可以將我指向正確的方向嗎?

非常感謝

特德

回答

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

嗨Tremmors一些參考 - 關於應對我一直在搬家的延遲遺憾。這個答案很棒,這正是我所需要的。謝謝你的時間! –

相關問題