如何对Mime类型进行分类(PHP)

时间:2009-01-14 09:06:35

标签: php mime-types

我正在寻找一个对mime类型进行分类的代码段。

例如,

应用程序/ msword

应用/ vnd.oasis.opendocument.text

应用/ PDF

它们都是办公室文件。当我将这些mime类型传递给函数时,我希望它返回“office”,“image”,“application”,“compressed”等结果。

但是,如你所知,有数百种哑剧类型,我无法全部收集它们。

你知道我在哪里可以找到它吗?

1 个答案:

答案 0 :(得分:2)

我不知道任何现有的脚本会根据您的意愿对这些类型进行分类。您可能需要根据所需的区别自行创建此功能,例如: application / 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];
}

收集所有mime类型来执行此操作可能非常耗时,尽管有许多网站都有large lists来帮助您入门。