Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/dflydev/dflydev-apache-mime-types

Apache MIME Types
https://github.com/dflydev/dflydev-apache-mime-types

Last synced: 3 days ago
JSON representation

Apache MIME Types

Awesome Lists containing this project

README

        

Apache MIME Types
=================

Parses Apache MIME Types files and provides a simple interface to find
extensions by type and type by extension.

[![Build Status](https://travis-ci.org/dflydev/dflydev-apache-mime-types.png?branch=master)](https://travis-ci.org/dflydev/dflydev-apache-mime-types)

Features
--------

* Bundles `mime.types` from the Apache HTTP Project. ([see here][1])
* 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][3] as [dflydev/apache-mime-types][4].

Usage
-----

### Parser

Parses Apache MIME Types in the format of `mime.types` [found here][1].

```php
parse('/path/to/mime.types');
```

The return value from `parse` is an array mapping types to an array of
extensions.

```php
array('html', 'htm'),
);
```

### PhpRepository

A repository backed by static PHP arrays.

```php
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.

```json
{
"text/html": ["html", "htm"]
}
```

To use the embedded JSON:

```php
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
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