dflydev/apache-mime-types
Parse and query Apache mime.types mappings in PHP. Includes bundled Apache mime.types plus JSON representation. Use parser to read mime.types files, or repositories (PHP, JSON, flat) to look up MIME type by extension and extensions by type.
Parses Apache MIME Types files and provides a simple interface to find extensions by type and type by extension.
mime.types from the Apache HTTP Project. (see here)mime.types.mime.types
or a JSON representation.Through Composer as dflydev/apache-mime-types.
Parses Apache MIME Types in the format of mime.types found here.
<?php
$parser = new Dflydev\ApacheMimeTypes\Parser;
$map = $parser->parse('/path/to/mime.types');
The return value from parse is an array mapping types to an array of
extensions.
<?php
array(
'text/html' => array('html', 'htm'),
);
A repository backed by static PHP arrays.
<?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"
// }
//
A repository backed by a JSON map of type to extensions.
{
"text/html": ["html", "htm"]
}
To use the embedded 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"
// }
//
To specify a specific JSON mapping:
<?php
$repository = new Dflydev\ApacheMimeTypes\JsonRepository('/path/to/mime.types.json');
A repository backed by Apache MIME Types formatted mime.types. To use the embedded
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"
// }
//
To specify a specific mime.types mapping:
<?php
$repository = new Dflydev\ApacheMimeTypes\FlatRepository('/path/to/mime.types');
MIT, see LICENSE.
If you have questions or want to help out, join us in the #dflydev channel on irc.freenode.net.
This project is based heavily on skyzyx/mimetypes. The major difference is
that skyzyx/mimetypes is focussed on creating JSON files from Apache
mime.types rather than providing a way to interact with Apache MIME Types as
a data source.
How can I help you explore Laravel packages today?