Как извлечь расширение файла из файла без расширения с октетным потоком типа mime? ⇐ Php
-
Anonymous
Как извлечь расширение файла из файла без расширения с октетным потоком типа mime?
У меня есть большое количество файлов, исходные имена которых были заменены идентификаторами из моей базы данных. Например, то, что раньше называлось word_document.doc, теперь называется 12345. В результате процесса я потерял исходное имя.
Сейчас я пытаюсь предоставить эти файлы для скачивания. Человек должен иметь возможность загрузить файл и просмотреть его, используя исходное приложение. Все файлы имеют один из следующих форматов:
[*].txt (текст) [*].doc (документ Word) [*].docx (документ Word) [*].wpd (идеально) [*].pdf (PDF) [*].rtf (форматированный текст) [*].sxw (звездный офис) [*].odt (открытый офис)
Я использую
$fhandle = finfo_open(FILEINFO_MIME); $file_mime_type = finfo_file($fhandle, $filepath); чтобы получить тип mime и затем сопоставить его с расширением.
Проблема, с которой я столкнулся, заключается в том, что некоторые файлы имеют тип mime octet-stream. Я читал в Интернете, и этот тип кажется другим типом для двоичных файлов. Я не могу легко сказать, какое расширение должно быть. В некоторых случаях это работает, когда я устанавливаю .wpd, а в некоторых случаях — нет. То же самое касается .sxw.
У меня есть большое количество файлов, исходные имена которых были заменены идентификаторами из моей базы данных. Например, то, что раньше называлось word_document.doc, теперь называется 12345. В результате процесса я потерял исходное имя.
Сейчас я пытаюсь предоставить эти файлы для скачивания. Человек должен иметь возможность загрузить файл и просмотреть его, используя исходное приложение. Все файлы имеют один из следующих форматов:
[*].txt (текст) [*].doc (документ Word) [*].docx (документ Word) [*].wpd (идеально) [*].pdf (PDF) [*].rtf (форматированный текст) [*].sxw (звездный офис) [*].odt (открытый офис)
Я использую
$fhandle = finfo_open(FILEINFO_MIME); $file_mime_type = finfo_file($fhandle, $filepath); чтобы получить тип mime и затем сопоставить его с расширением.
Проблема, с которой я столкнулся, заключается в том, что некоторые файлы имеют тип mime octet-stream. Я читал в Интернете, и этот тип кажется другим типом для двоичных файлов. Я не могу легко сказать, какое расширение должно быть. В некоторых случаях это работает, когда я устанавливаю .wpd, а в некоторых случаях — нет. То же самое касается .sxw.
Мобильная версия