我正在尝试强制下载,所以这是我的代码:
$file = 'test.m4r';
$mime = 'audio/aac';
header("Pragma: public"); // required
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false); // required for certain browsers
header('Content-Description: File Transfer');
header("Content-Type: $mime");
header('Content-Length: ' . filesize($file));
header('Content-Disposition: attachment; filename=' . basename($file));
readfile($file);
文件扩展名应为.m4r,即使mime是aac。在某些计算机上,它下载为test.m4r,而在其他计算机上,该文件的扩展名为 test.m4r.acc 。我该如何解决这个问题?
谢谢!
答案 0 :(得分:1)
你可以对mimetype撒谎,但除此之外你无能为力。 尝试:
"application/octet-stream"
这可能有效,并且是未知文件类型等的默认设置。
答案 1 :(得分:1)
尝试这个
<?php header("Content-Type: application/force-download"); ?>