This commit is contained in:
the-djmaze 2025-03-10 16:14:33 +01:00
parent 70aebb4981
commit 45c8f71af0

View file

@ -43,15 +43,18 @@ abstract class MimeType
\fclose($fp); \fclose($fp);
} }
if ('application/zip' === \str_replace('/x-', '/', $mime)) { if ('application/zip' === \str_replace('/x-', '/', $mime)) {
$zip = new \ZipArchive(); if (\class_exists('ZipArchive')) {
if ($zip->open($filename, \ZIPARCHIVE::RDONLY)) { $zip = new \ZipArchive();
if (false !== $zip->locateName('word/_rels/document.xml.rels')) { if ($zip->open($filename, \ZIPARCHIVE::RDONLY)) {
return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document'; if (false !== $zip->locateName('word/_rels/document.xml.rels')) {
} return 'application/vnd.openxmlformats-officedocument.wordprocessingml.document';
if (false !== $zip->locateName('xl/_rels/workbook.xml.rels')) { }
return 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'; if (false !== $zip->locateName('xl/_rels/workbook.xml.rels')) {
return 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
}
} }
} }
$mime = \str_replace('/x-', '/', $mime);
} }
} }
return $mime ? static::detectDeeper($mime, $name ?: $filename) : null; return $mime ? static::detectDeeper($mime, $name ?: $filename) : null;