skyzyx/mimetypes

Creates a JSON document containing a thorough list of file extensions => mime types as provided by the Apache httpd project.

Installs: 1 103

Dependents: 3

Stars: 6

Watchers: 2

Forks: 4

Language: Perl

1.1.1 2013-03-31 11:50 UTC

README

Creates a JSON document containing a thorough list of file extensions => mime types as provided by the Apache httpd project.

How to use

Step 1

Download the latest copy of the Apache mime-types file into the same directory as the generate script.

cd mimetypes &&
wget --no-check-certificate https://svn.apache.org/repos/asf/httpd/httpd/branches/2.4.x/docs/conf/mime.types

Step 1.5 (optional)

Update the provided customize.json document with any additional mimetypes to define, or any that you would like to override.

Step 2

Run the generate script.

./generate

In the end, a mimetypes.json document will be generated. This JSON document can be easily parsed into a map/dictionary/associative array by pretty much every programming language with little effort.

It also generates a backing PHP class if you want to use the data in PHP-land.

Installation

Install source from GitHub

To install the source code:

git clone git://github.com/skyzyx/mimetypes.git

And use it in your scripts:

$mimetypes = json_decode('/path/to/mimetypes/mimetypes.json', true);
$type = $mimetypes['html'];
#=> text/html

// ...or...

use Skyzyx\Components\Mimetypes\Mimetypes;
$type = Mimetypes::getInstance()->fromExtension('html');
#=> text/html

Install with Composer

If you're using Composer to manage dependencies, you can add the mimetypes with it.

{
    "require": {
        "skyzyx/mimetypes": ">=1.0"
    }
}

See Also...

For a similar-yet-different approach (including reverse-lookups from mimetypes => extensions), check out dflydev-apache-mime-types.

License & Copyright

Copyright (c) 2010-2013 Ryan Parman. Licensed for use under the terms of the MIT license. See the list of contributors for more author information.