Description
Parses Apache MIME Types files and provides a simple interface to find extensions by type and type by extension.
Apache MIME Types alternatives and similar libraries
Based on the "Files" category.
Alternatively, view Apache MIME Types alternatives based on common mentions on social networks and blogs.
-
Gaufrette
PHP library that provides a filesystem abstraction layer − will be a feast for your files! -
UnifiedArchive
UnifiedArchive - an archive manager with unified interface for different formats (bundled with cli utility). Supports all formats with basic operations (reading, extracting and creation) and popular formats specific features (compression level, password-protection, comment) -
Filesystem Component
Filesystem Package provide a fluent, object-oriented interface for working with filesystem.
InfluxDB high-performance time series database

* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of Apache MIME Types or a related project?
README
Apache MIME Types
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.
*Note that all licence references and agreements mentioned in the Apache MIME Types README section above
are relevant to that project's source code only.