下载的文件有错误的mime-type

时间:2014-07-18 08:23:35

标签: php http-headers zip download mime-types

我有一个PHP脚本,可以创建一个Zip存档,然后将其传递给浏览器进行下载。

这可以通过HTTP响应标头轻松完成

header('Pragma: no-cache');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0, public')
header('Content-Type: application/zip')
header('Content-Length: ' . filesize($zipPath))
header('Content-Disposition: attachment; filename=filename.zip')
header('Content-Transfer-Encoding: binary')

echo file_get_contents($zipPath);

正确下载文件。我也可以打开它。但是,当我检查下载的文件mime-type时,它会告诉我:application/octet-stream而不是application/zip

对于文件mime类型检测,我使用以下代码段:

$pathToDownloadedFile = 'somewhere-on-disk';
$file = finfo_open(FILEINFO_MIME_TYPE);
var_dump(
    file_exists($pathToDownloadedFile), 
    finfo_file($file, $pathToDownloadedFile)
);
转出的

  


  应用/八位字节流

我搜索了问题,但没有运气。
任何帮助都将非常感激。

0 个答案:

没有答案