dflydev / apache-mime-types
Apache MIME 类型
v1.0.1
2013-05-14 02:02 UTC
Requires
- php: >=5.3
Requires (Dev)
- twig/twig: 1.*
This package is auto-updated.
Last update: 2024-08-29 03:32:18 UTC
README
解析 Apache MIME 类型文件,并提供一个简单的接口,通过类型查找扩展名,通过扩展名查找类型。
特性
- 包含来自 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 作为数据源交互的方法。