我正在尝试在点击链接时显示下载弹出窗口。我使用文件存储正确检索了文件。我按照this link
进行了尝试header("Content-Description: File Transfer)
但是不起作用。我也尝试使用$PAGE
变量,以防万一,但两者都没有。
我怎样才能做到这一点?
答案 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
使用的任何内容。