Вопрос

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

Например,

приложение /msword

приложение/vnd.oasis.opendocument.text

приложение /pdf

Оба они являются офисными файлами.Когда я передаю эти mime-типы функции, я хочу, чтобы она возвращала результат, который является 'office', 'image', 'application', 'compressed' и т.д.

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

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

Это было полезно?

Решение

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

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

/**
 * 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];
}

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top