2012-04-24 52 views
0

我將文件上傳到服務器,然後將原始文件名存儲在數據庫中。PHP:下載時如何返回原始文件名?

現在對於我目前使用的是這樣的下載:

Content-Disposition: attachment; filename=<?=urlencode($file)?>

它的工作原理,但它與+

代替空格字符下載時我怎樣才能恢復原來的文件名?

+0

的'urlencode'功能編碼您的字符串 - 不要編碼它!?! – ManseUK 2012-04-24 14:39:35

+0

@ManseUK如果我不這樣做,它會在有空格符時破壞。 – IMB 2012-04-24 14:40:02

+0

可能的重複:http://stackoverflow.com/questions/93551/how-to-encode-the-filename-parameter-of-content-disposition-header-in-http – jeremyharris 2012-04-24 14:42:08

回答

2

urlencode功能是把+跡象在你的文件名字符串 - 如果你不想在+跡象刪除urlencode - 再放入引號括起來的:

header('Content-Disposition: attachment; filename="'.$file.'"'); 
+0

把報價工作。謝謝。 – IMB 2012-04-24 14:45:54

相關問題