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

3
我正在寻找一个可以对mime类型进行分类的代码片段。
例如,application/msword和application/vnd.oasis.opendocument.text都是办公文件。当我将这些mime类型传递给函数时,我希望它返回一个结果,如“office”、“image”、“application”、“compressed”等。
然而,正如你所知道的,有数百种mime类型,我无法收集所有的类型。
你知道在哪里可以找到这个代码片段吗?

分类标准是什么? - Milen A. Radev
我问过一个类似的问题:http://stackoverflow.com/questions/1297915/is-there-a-mapping-between-mimetypes。如果这个问题得到回答,请在那里发布。 - Paul Tarjan
1个回答

2

我不知道是否有现成的脚本能按照您的需求对这些类型进行分类。您可能需要根据您所需的区分来创建此函数,例如将application/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类型可能会非常耗时,但是有许多网站提供大型列表可以帮助您入门。


啊,SitePoint 的参考资料也没有对它们进行分类 :( 我该怎么办呢?其实我不知道 :( - ahmet alp balkan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接