Как классифицировать Mime Types (PHP) - PullRequest
3 голосов
/ 14 января 2009

Я ищу фрагмент кода, который классифицирует типы пантомимы.

Например,

применение / MSWord

применение / vnd.oasis.opendocument.text

применение / PDF

Они оба являются служебными файлами. Когда я передаю эти MIME-функции в функцию, я хочу, чтобы они возвращали результат «офис», «изображение», «приложение», «сжатый» и т. Д.

Однако, как вы знаете, существуют сотни типов пантомимы, и я не могу собрать их всех.

Вы знаете, где я могу найти это?

1 Ответ

2 голосов
/ 14 января 2009

Я не знаю ни одного существующего скрипта, который бы классифицировал эти типы по вашему желанию. Возможно, вам придется создать эту функцию самостоятельно, исходя из требуемых различий, например, приложение / msword -> офис, а не приложение и т. д.

Поскольку ваши классификации довольно произвольны и специфичны для вашего собственного сценария использования, вам, вероятно, придется классифицировать их самостоятельно по вашим желаемым категориям, например, используя функцию, подобную приведенной ниже:

/**
 * Classify mime types into pre-determined categories
 * 2-d array used for simplicity of example, error
 * checking omitted so unrecognised string returns
 * empty value here...
 */
function categorize_mime_types($mime)
{
    // Classify mime types into desired categories, key-val pairings
    $mimes = array("application/msword"=>"office",
                   "application/vnd.oasis.opendocument.text"=>"office",
                   ....
                   "image/jpeg"=>"image");
    return $mimes[$mime];
}

Сбор всех типов пантомимы для этого может занять довольно много времени, хотя есть ряд веб-сайтов, которые имеют большие списки , чтобы вы могли начать.

...