dflydev / apache-mime-types
Apache MIME Types
Installs: 1 574 083
Dependents: 47
Suggesters: 0
Security: 0
Stars: 71
Watchers: 3
Forks: 12
Open Issues: 3
Requires
- php: >=5.3
Requires (Dev)
- twig/twig: 1.*
This package is auto-updated.
Last update: 2024-10-29 04:03:56 UTC
README
Parses Apache MIME Types files and provides a simple interface to find extensions by type and type by extension.
Features
- Bundles
mime.types
from the Apache HTTP Project. (see here) - Bundles a JSON representation of Apache
mime.types
. - Provides an interface for reading either flat Apache HTTP
mime.types
or a JSON representation.
Requirements
- PHP 5.3.3+
Installation
Through Composer as dflydev/apache-mime-types.
Usage
Parser
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'), );
PhpRepository
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" // } //
JsonRepository
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');
FlatRepository
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');
License
MIT, see LICENSE.
Community
If you have questions or want to help out, join us in the #dflydev channel on irc.freenode.net.
Not Invented Here
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.