我正在尝试为自定义wordpress
插件创建功能,当用户点击下载按钮时,应下载与该帖子相关的目录中的相应文件。
我不希望从URL直接访问该文件,只希望授权用户可以下载文件。
class DownloadM{
function __construct(){
}
function setDownload($file){
//$file = ROOT_DIR_PATH."wp-content/uploads/2016/07/PDF.zip";
echo "<a href='".$file."'>Click here to download</a>";
ob_start();
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-type: application/octet-stream");
header("Content-Disposition: attachment; filename=PDF.zip");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($file));
flush();
ob_clean();
readfile($file);
}
}
如果我将链接放在href
标记中或直接从网址访问该文件,则文件已正确下载。
但是当我把文件放在标题中以自动下载时它不起作用
答案 0 :(得分:0)
简单的解决方案:
header("Content-Type: application/force-download");