axy/mime

MIME类型匹配

1.0.4 2017-12-31 14:23 UTC

This package is auto-updated.

Last update: 2024-09-08 02:01:03 UTC


README

MIME类型匹配。

Latest Stable Version Minimum PHP Version Build Status Coverage Status License

  • 该库不需要任何依赖。
  • 安装: 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

该类具有常用类型的常量列表: APPLICATIONAUDIOEXAMPLEIMAGEMESSAGEMODELMULTIPARTTEXTVIDEO

匹配

$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);