2016-12-24 72 views
0

我正在使用mod_xsendfile來下載/顯示網頁上的文件。它工作正常,我只是想知道是否有任何方法可以在發送它們之前修改文件名?修改通過mod_xsendfile下載的文件的文件名

我猜我會不得不暫時複製/重命名文件來管理這個?對於大文件來說這可能是不可行的(由於超時或至少等待時間)。

原因,我問的是,我有公開共享文件,這些文件的前綴與共享文件的名稱的用戶 - 這樣反而videofile.mp4它會說username__videofile.mp4 - 不是一個大問題,它不是像下載程序沒有按」 t已經知道誰共享了這個文件,如果文件名只是原始文件名,它會稍微容易些。

我想臨時複製/重命名是唯一的方法來做到這一點?

回答

3

沒有必要做臨時複製或重命名。 只是這樣做:

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

設置$outFilename任何你想要的名稱。 它適用於Apache 2.4.9。

+0

謝謝! :)知道一個賞金將有助於推動事物,這是當之無愧的。像魅力一樣工作。我必須再等上11個小時才能獲得獎勵,但如果可以的話,它將會以你的方式出現。 – junkfoodjunkie