2015-09-28 3 views
5

При проверке типов файлов пантомимы файлов, загружаемых в пограничном браузере Microsoft 10, я получаю эту Mime Type для .doc файлов:Получение Microsoft 10 Гурт браузера Mime типы PHP

application/octet-stream 

Видимо, это указывает на «произвольные двоичные данные «: Do I need Content-Type: application/octet-stream for file download?

в других браузерах я получаю application/msword

есть новый способ типов MIME обрабатываются файлы .doc для пограничного браузера, а возможно, и других типов пантомимы мне нужно, чтобы быть в курсе?

Update:

Я хватал тип мим с помощью РНР $_FILES['uploadName']['type']

+0

пахнет ошибка - как насчет сообщать об этом –

+2

Вы не должны захватить тип MIME из данных, приведенных в '$ _FILE', поскольку это чрезвычайно слоеное и для интерпретации, как вы испытываете. Вместо этого сделайте новый анализ загруженного ** временного ** файла, используйте 'finfo()' или аналогичный. – Martin

ответ

4

Я обнаружил, что с помощью этого вместо этого, я получаю правильный тип MIME-тип:

$finfo = new finfo(FILEINFO_MIME_TYPE); 
$mimeType = $finfo->file($_FILES['uploadName']['tmp_name'][$key]); 

И как Мартин упомянутых в комментарии выше:

Вы не должны захватывать тип MIME из данных, приведенных в $ _FILE, как , это очень шелушащийся и для интерпретации, так как вы находитесь . Вместо этого сделайте новый анализ загруженного временного файла , используйте finfo() или аналогичный.

+0

Я должен был прочитать ваш ответ перед моим комментарием выше, о хорошо ... Рад, что вы нашли более надежный способ сделать это. – Martin

+0

Да, спасибо, что это хороший комментарий и стоит того, чтобы посмотреть, приедут ли они сюда, я добавлю к своему ответ. – Andrew

Смежные вопросы