我正在使用以下代码下载文件:
$file_name = $_GET['file_name'];
$file_size = filesize( 'files/' . $file_name );
$file_type = mime_content_type( 'files/' . $file_name );
header( 'Content-Type: ' . $file_type );
header( 'Content-Length: ' . $file_size );
header( 'Content-Disposition: attachment; filename="' . $file_name . '"' );
readfile( 'files/' . $file_name );
它工作正常,我可以下载文件。然而,有些事情困扰着我。当我使用Firefox下载文件时,下载对话框总是说该文件是“文档”,或者有时是“预览文档”,而不是图像,PDF或文件实际上是什么。有什么想法吗?
编辑:我刚试过.svg文件(mime type image / svg + xml),对话框正确地说明了“可缩放矢量图形”。但后来我尝试使用.psd文件(mime type image / x-photoshop)并获得了“Preview.app Document”。奇怪的。有人能够复制这个问题吗?此时我认为它可能是Firefox问题,因此我添加了“Firefox”作为标记。