dflydev/apache-mime-types

Apache MIME 类型

v1.0.1 2013-05-14 02:02 UTC

This package is auto-updated.

Last update: 2024-08-29 03:32:18 UTC


README

解析 Apache MIME 类型文件,并提供一个简单的接口,通过类型查找扩展名,通过扩展名查找类型。

Build Status

特性

  • 包含来自 Apache HTTP 项目的 mime.types。 (查看这里)
  • 包含 Apache mime.types 的 JSON 表示形式。
  • 提供读取平面 Apache HTTP mime.types 或 JSON 表示形式的接口。

要求

  • PHP 5.3.3+

安装

通过 Composer 安装 dflydev/apache-mime-types

使用方法

解析器

解析 Apache MIME 类型,格式为 mime.types,可在 此处找到

<?php
$parser = new Dflydev\ApacheMimeTypes\Parser;

$map = $parser->parse('/path/to/mime.types');

parse 方法的返回值是一个映射类型到扩展名数组的数组。

<?php
array(
    'text/html' => array('html', 'htm'),
);

PhpRepository

由静态 PHP 数组支持的存储库。

<?php
$repository = new Dflydev\ApacheMimeTypes\PhpRepository;

$type = $repository->findType('html');
$extensions = $repository->findExtensions('text/html');

var_dump($type);
var_dump($extensions);

//
// Result
//
// string(9) "text/html"
// array(2) {
//   [0]=>
//   string(4) "html"
//   [1]=>
//   string(3) "htm"
// }
//

JsonRepository

由类型到扩展名的 JSON 映射支持的存储库。

{
    "text/html": ["html", "htm"]
}

要使用嵌入的 JSON

<?php
$repository = new Dflydev\ApacheMimeTypes\JsonRepository;

$type = $repository->findType('html');
$extensions = $repository->findExtensions('text/html');

var_dump($type);
var_dump($extensions);

//
// Result
//
// string(9) "text/html"
// array(2) {
//   [0]=>
//   string(4) "html"
//   [1]=>
//   string(3) "htm"
// }
//

要指定特定的 JSON 映射

<?php
$repository = new Dflydev\ApacheMimeTypes\JsonRepository('/path/to/mime.types.json');

FlatRepository

由 Apache MIME 类型格式化的 mime.types 支持的存储库。要使用嵌入的 mime.types

<?php
$repository = new Dflydev\ApacheMimeTypes\FlatRepository;

$type = $repository->findType('html');
$extensions = $repository->findExtensions('text/html');

var_dump($type);
var_dump($extensions);

//
// Result
//
// string(9) "text/html"
// array(2) {
//   [0]=>
//   string(4) "html"
//   [1]=>
//   string(3) "htm"
// }
//

要指定特定的 mime.types 映射

<?php
$repository = new Dflydev\ApacheMimeTypes\FlatRepository('/path/to/mime.types');

许可证

MIT,查看 LICENSE。

社区

如果您有疑问或想帮忙,请加入我们在 irc.freenode.net#dflydev 频道。

非原创

此项目主要基于 skyzyx/mimetypes。主要区别在于 skyzyx/mimetypes 专注于从 Apache mime.types 创建 JSON 文件,而不是提供与 Apache MIME Types 作为数据源交互的方法。