关于 php:MIME 类型 XLSX(来自 LibreOffice)

MIME type XLSX (from LibreOffice)

我正在尝试解决一个问题:我想将 XLS/XLSX 文件上传到我的网站。而且我有这个条件:

1
if((mime_content_type($file) == 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' || mime_content_type($file) == 'application/vnd.ms-excel') && ($extension == 'xls' || $extension == 'XLS' || $extension == 'xlsx' || $extension == 'XLSX')){...upload...}

当我使用 XLS/X 文件(直接从 MS Excel 中保存)时,效果很好。但是当我想上传 XLS/X 文件时——它直接从 LibreOffice 保存(不是作为 ODS,而是作为 XLS/X)——它不起作用,我无法上传这个文件。

感谢您的帮助!

(并且 application/vnd.oasis.opendocument.spreadsheet 的条件也不起作用。)

更新:感谢 Dipanwita Kundu,我能够找到使用了哪种 MIME 类型 (application/octet-stream) - 但是将其作为条件是否安全?


试试这个

1
if((mime_content_type($file) == 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' || mime_content_type($file) == 'application/vnd.ms-excel' || mime_content_type($file) == 'application/vnd.openxmlformatsofficedocument.spreadsheetml.sheet') && ($extension == 'xls' || $extension == 'XLS' || $extension == 'xlsx' || $extension == 'XLSX')){...upload...}


如果您使用 LibreOffice Calc 保存文件,则 php mime_content_type($file) 返回值为 \\'application/zip\\'。

使用 codeigniter 上传 xls 或 xlsx 文件,mime 类型错误