2013-02-26 54 views
0

我正在使用WordPress作爲網站,並且希望包含一個菜單項以從網站將壓縮文件下載到本地驅動器。我嘗試使用以下功能:使用PHP和WordPress下載zip文件到本地驅動器

function download_binary_file($file) { 
    if (file_exists($file)) { 
     $base_name = basename($file); 
     header('Content-Description: File Transfer'); 
     header('Content-Type: application/octet-stream'); 
     header('Content-Disposition: attachment; filename="'.$base_name.'"'); 
     header('Content-Transfer-Encoding: binary'); 
     header('Expires: 0'); 
     header('Cache-Control: must-revalidate'); 
     header('Pragma: public'); 
     header('Content-Length: ' . filesize($file)); 
     ob_clean(); 
     flush(); 
     readfile($file); 
     exit; 
    } 
} 

但執行此功能時,而不是讓一個對話框,保存文件,壓縮文件的內容顯示在我的瀏覽器。有任何想法嗎?

+0

以什麼方式顯示? – 2013-02-26 18:11:04

+0

如果刪除'ob_clean();'和'ob_flush()',會發生什麼情況?你確定在header()之前沒有輸出嗎? +您是否嘗試過其他瀏覽器? – 2013-02-26 18:12:58

+0

大部分是非ASCII字符。本質上,該文件被轉儲到瀏覽器窗口中。 – EastsideDeveloper 2013-02-26 18:14:45

回答

0

上傳您的zip文件,然後創建菜單項,然後將菜單項中的htaccess重定向添加到zip文件url。 Zip文件通常會自動下載..我知道也有WordPress的下載管理器插件,這使得這個過程非常簡單。

+0

htaccess重定向?不,這並不複雜,我可以簡單地提供一個帶有zip文件名的鏈接,但這不是我的問題 – EastsideDeveloper 2013-02-26 19:35:24