'file --mime-type' и 'mimetype' Команды, возвращающие разные результаты

Почему вы должны использовать символические ссылки? Вы более гибкие с пакетом .war, если вы запускаете приложение в кластере Tomcat (или Jboss).

1
задан 10 April 2013 в 17:55

3 ответа

Существует аналогичная разница между двумя инструментами для пакетов .deb.

Похоже, что файл использует /etc/mime.types, а mimetype использует намного сложную заготовку большего количества XDG_DATA_DIRS (из [ f6]):

ENVIRONMENT
       XDG_DATA_HOME
       XDG_DATA_DIRS
           These variables can list base directories to search for data files. The shared mime-info will be expected in the "mime" sub directory of one of these directories. If these are not set,
           there will be searched for the following directories:

                   $HOME/.local/share/mime
                   /usr/local/share/mime
                   /usr/share/mime

           See also the "XDG Base Directory Specification" http://freedesktop.org/Standards/basedir-spec <http://freedesktop.org/Standards/basedir-spec>

FILES
       The base dir for all data files is determined by two environment variables, see "ENVIRONMENT".

       BASE/mime/packages/SOURCE.xml
           All other files are compiled from these source files. To re-compile them use update-mime-database(1).

       BASE/mime/globs
           Compiled information about globs.

       BASE/mime/magic
           Compiled information about magic numbers.

       BASE/mime/MEDIA/SUBTYPE.xml
           Descriptions of a mimetype in multiple languages, used for the "--describe" switch.
5
ответ дан 24 May 2018 в 23:42
  • 1
    Похоже, я застрял в этой проблеме, как на Windows, так и на Linux. Спасибо за объяснение. Извиняюсь, что я не могу отметить 2 как anwser. Оба были на месте. – scampbell 11 April 2013 в 12:07

Мне потребовалось некоторое время, чтобы найти его, но мне удалось установить mimetype на debian.

sudo apt-get install libfile-mimeinfo-perl

Теперь я получаю application/vnd.ms-excel для .xls вместо application/msword.

1
ответ дан 24 May 2018 в 23:42

Вы упомянули, что делаете это на PHP. Я столкнулся с такими различиями при получении типа файла mime. Они различаются. Чтобы правильно сделать это на PHP, вы должны использовать finfo

$finfo = new finfo();
$mime = $finfo->file($path_to_file, FILEINFO_MIME);
0
ответ дан 24 May 2018 в 23:42
  • 1
    Спасибо, я уже пользуюсь этой функцией. Он возвращает неверный формат. Вот почему я тестировал. – scampbell 11 April 2013 в 12:04
  • 2
    в каком формате он возвращается? – llt 22 May 2013 в 12:47
  • 3
    См. Оригинальный вопрос – scampbell 22 May 2013 в 17:00
  • 4
    Вы не упомянули, что вы использовали finfo. Он возвращает msword? – llt 23 May 2013 в 09:54

Другие вопросы по тегам:

Похожие вопросы: