Как определить MIME-тип текстовых файлов :CSS, Javascript, ini, sql?

Определение MIME-типа файла с PHP тривиально -просто используйте пакет PEAR MIME _Type , пакет PHP fileinfo или вызовите file -iна машине Unix. Это очень хорошо работает с бинарными файлами и всеми остальными файлами, имеющими какие-то «магические байты», с помощью которых их можно легко обнаружить.

Что мне не удается, так это определение правильного типа MIME для простых текстовых файлов:

  • CSS
  • Diff
  • INI (конфигурация)
  • Javascript
  • rST
  • SQL

Все они идентифицируются как "text/plain", что правильно, но слишком неконкретно для меня. Мне нужен реальный тип, даже если анализ содержимого файла потребует некоторого времени.

Итак, мой вопрос :Какие существуют решения для определения MIME-типа таких простых текстовых файлов? Любые библиотеки? Фрагменты кода?


Обратите внимание, что у меня нет ни имени файла, ни расширения файла, но у меня есть содержимое файла.


Если бы я использовал ruby, я мог бы интегрировать лингвист github . Программа Ohloh ohcount написана на C, но имеет инструмент командной строки для определения типа:ohcount -d $file

Что я пробовал

ohcount

Правильно определяет файлы xml и php, все остальные нет.

Apache tika

Обнаруживает xml и html, все остальные тестовые файлы были видны только как text/plain.

8
задан cweiske 8 May 2012 в 21:03
поделиться