使用PHP和WordPress下载zip文件到本地驱动器
问题描述:
我正在使用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;
}
}
但执行此功能时,而不是让一个对话框,保存文件,压缩文件的内容显示在我的浏览器。有任何想法吗?
答
上传您的zip文件,然后创建菜单项,然后将菜单项中的htaccess重定向添加到zip文件url。 Zip文件通常会自动下载..我知道也有WordPress的下载管理器插件,这使得这个过程非常简单。
+0
htaccess重定向?不,这并不复杂,我可以简单地提供一个带有zip文件名的链接,但这不是我的问题 – EastsideDeveloper 2013-02-26 19:35:24
以什么方式显示? – 2013-02-26 18:11:04
如果删除'ob_clean();'和'ob_flush()',会发生什么情况?你确定在header()之前没有输出吗? +您是否尝试过其他浏览器? – 2013-02-26 18:12:58
大部分是非ASCII字符。本质上,该文件被转储到浏览器窗口中。 – EastsideDeveloper 2013-02-26 18:14:45