我有许多文件,它们的原始文件名已被数据库中的 ID 替换。例如,曾经的文件名为 word_document.doc 现在变成了 12345。在此过程中,我丢失了原始文件名。
现在我想要提供这些文件下载。用户应该能够下载文件并使用其原始应用程序查看文件。这些文件均为以下格式之一:
- .txt(文本)
- .doc(Word 文档)
- .docx(Word 文档)
- .wpd(Word Perfect)
- .pdf(PDF)
- .rtf(富文本)
- .sxw(Star Office)
- .odt(Open Office)
我正在使用
$fhandle = finfo_open(FILEINFO_MIME);
$file_mime_type = finfo_file($fhandle, $filepath);
获取mime类型,然后将mime类型映射到扩展名。
我遇到的问题是一些文件的mime类型为 octet-stream 。我在网上阅读了一些资料,这种类型似乎是二进制文件的杂项类型。我无法轻易地确定需要什么扩展名。在某些情况下,将其设置为 .wpd 可以工作,在某些情况下则不行。同样适用于 .sxw 。