2013-02-26 56 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