axy / mime
MIME类型匹配
1.0.4
2017-12-31 14:23 UTC
Requires
- php: >=7.1.0
Requires (Dev)
- phpmd/phpmd: ^2.6
- phpunit/phpunit: ~6.0
- squizlabs/php_codesniffer: ~3.1
README
MIME类型匹配。
- 该库不需要任何依赖。
- 安装:
composer require axy/mime
。 - 许可证: MIT。
对于PHP 5.4+支持,请查看此仓库中的分支 php54
或composer包的0.x版本。
文档
MIME类型具有以下格式: type/subtype
。例如: image/png
。它可以不区分大小写: Image/PNG
。
模式可以是以下格式
image/png
image/png,image/jpeg, image/gif
- 允许的类型列表(逗号分隔)image/*
- 一个类型的所有子类型image/*,text/plain
- 包含掩码的列表
匹配
use axy\mime\MimeType; $type = 'image/png'; $pattern = 'image/*'; MimeType::match($type, $pattern); // TRUE
类型和模式可以是字符串或MimeType和MimePattern实例。
MimeType
类
use axy\mime\MimeType; $type = new MimeType('Image/PNG'); echo $type->getMimeType(); // image/png echo $type->getType(); // image echo $type->getSubtype(); // png echo $type->isType('image'); // TRUE echo $type->isType(MimeType::AUDIO); // FALSE
该类具有常用类型的常量列表: APPLICATION
、AUDIO
、EXAMPLE
、IMAGE
、MESSAGE
、MODEL
、MULTIPART
、TEXT
和 VIDEO
。
匹配
$type = new MimeType('image/png'); $type->match('image/jpeg'); // FALSE $type->match('image/*); // TRUE $type('image/png'); // __invoke() $type($instanceOfMimePattern); // see MimePattern
MimePattern
类
use axy\mime\MimePattern; $pattern = new MimePattern('IMAGE/*'); $pattern->getPattern(); // image/* $pattern->match('image/png'); // TRUE $pattern('image/jpeg'); // __invoke $pattern($instanceOfMimeType);