2009-08-07 65 views
0

我在創建一個文件下載頁面。此頁面在請求時應提示用戶下載文件。這裏是頁面的源代碼:用php下載文件(在localhost下工作在apache上)

<?php 
header('Content-disposition: attachment; filename=zip.zip') 

header('Content-type: application/zip'); 

readfile('zip.zip'); 

?> 

這工作正常。

的問題,開始時我想文件zip.zip從那裏這個腳本是在文件夾中移動。我試着用相對和絕對URL,但我總是奇怪的結果, 瀏覽器仍然提示文件下載,但不知何故,只是從URI轉換一個奇怪的文件名,我提供的財產以後像「.._.._files_zip.zip,而不是../../files/zip.zip

任何建議,爲什麼出現這種情況 感謝

+2

發佈一個不起作用的示例 – MitMaro 2009-08-07 20:25:24

+0

<?php header('Content-disposition:attachment;文件名=/zip.zip'); header('Content-type:application/zip'); readfile('./ zip.zip'); ?> 甚至當試圖從相同的地方使用相關網址獲取文件時,就像在此評論中發佈的代碼一樣,它不工作導致下載名爲「_zip.zip」的文件並不存在 感謝您的支持 – 2009-08-07 20:36:44

回答

1

使用basename得到公正的文件名:?

$file = '../../files/zip.zip'; 
header('Content-Disposition: attachment; filename='.basename($file)); 
header('Content-Type: application/zip'); 
readfile($file); 
+0

感謝爲此:) 這工作了 高度讚賞的幫助 – 2009-08-07 20:49:14