如何“手动”强制Moodle下载文件?

时间:2015-08-06 23:29:18

标签: php download moodle

我正在尝试在点击链接时显示下载弹出窗口。我使用文件存储正确检索了文件。我按照this link

进行了尝试
header("Content-Description: File Transfer)

但是不起作用。我也尝试使用$PAGE变量,以防万一,但两者都没有。

我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

根据我的经验,尝试设置文件服务时提供的最重要的标头是Content-Type。由于您总是需要下载提示,因此您甚至无需检查正确的mimetype,您可以随时使用:

application/octet-stream

虽然使用也是明智的:

Content-Disposition: attachment; filename=""

或者您的浏览器可能会说:

  

您已选择打开:download.php,即:php文件,来自http://example.com

因此我们最终得到了这个:

$file = 'path/to/monkey.gif';

header('Content-Type: "application/octet-stream"');
header('Content-Disposition: attachment; filename="'.basename($file).'"');
readfile($file);
exit();

您可以轻松地将readfile替换为moodle使用的任何内容。