cosmicvelocity/media-types

检测文件或扩展名的媒体类型(MIME 类型)。

1.2 2018-04-11 04:05 UTC

This package is not auto-updated.

Last update: 2024-09-19 19:19:20 UTC


README

一个用于处理媒体类型的 PHP 库。

  • 支持 RFC 6838 规范。
  • 可以对 MIME 类型字符字符串进行分析。
  • 支持使用内置映射列表自动从文件名检测。
  • 支持使用 Fileinfo 扩展自动检测。

安装

如果使用 composer,可以通过添加以下描述来引入:

  "require": {
    "cosmicvelocity/media-types": ">=1.0"
  }

如何使用

  • 当从文件名检测时。

    $mediaTypes = new PhpArrayMediaTypes();
    $mediaType = $mediaTypes->getMediaType('sample.txt');
    
    $mediaType->getType(); // text
    
  • 当使用自己的映射进行检测时。

    $mediaTypes = new PhpArrayMediaTypes([
       'hoge' => 'application/prs.hoge+xml'
    ]);
    $mediaType = $mediaTypes->getMediaType('sample.hoge');
    
    $mediaType->getType();    // application
    $mediaType->getSubType(); // prs.hoge+xml
    $mediaType->getTree();  // prs
    $mediaType->getSuffix();  // xml
    
  • 当分析 MIME 类型时。

    $mediaType = MediaType::fromMime('application/calendar+json; charset=utf-8');
    
    $mediaType->getType();    // application
    $mediaType->getSubType(); // calendar+json 
    $mediaType->getSuffix();  // json 
    $mediaType->getParameter('charset')->getValue(); // utf-8
    
  • 当从文件检测时。

    $mediaType = MediaType::fromFile('sample.json');
    
    $mediaType->getType();    // text
    $mediaType->getSubType(); // plain