王总上门按摩后台代码
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
yangsai 6775628667 版本更新 2 months ago
..
bin 版本更新 2 months ago
src 版本更新 2 months ago
tests 版本更新 2 months ago
.codeclimate.yml 版本更新 2 months ago
.gitignore 版本更新 2 months ago
.travis.yml 版本更新 2 months ago
composer.json 版本更新 2 months ago
license 版本更新 2 months ago
mime.types 版本更新 2 months ago
mime.types.custom 版本更新 2 months ago
mime.types.php 版本更新 2 months ago
phpunit.xml 版本更新 2 months ago
readme.md 版本更新 2 months ago

readme.md

Mimey

PHP package for converting file extensions to MIME types and vice versa.

Build Status Coverage Status Code Climate Latest Stable Version Downloads per Month License

This package uses httpd's mime.types to generate a mapping of file extension to MIME type and the other way around.

The mime.types file is parsed by bin/generate.php and converted into an optimized PHP array in mime.types.php which is then wrapped by helper class \Mimey\MimeTypes.

Usage

$mimes = new \Mimey\MimeTypes;

// Convert extension to MIME type:
$mimes->getMimeType('json'); // application/json

// Convert MIME type to extension:
$mimes->getExtension('application/json'); // json

Getting All

It's rare, but some extensions have multiple MIME types:

// Get all MIME types for an extension:
$mimes->getAllMimeTypes('wmz'); // array('application/x-ms-wmz', 'application/x-msmetafile')

However, there are many MIME types have multiple extensions:

// Get all extensions for a MIME type:
$mimes->getAllExtensions('image/jpeg'); // array('jpeg', 'jpg', 'jpe')

Custom Conversions

You can add custom conversions by changing the mapping that is given to MimeTypes.

There is a MimeMappingBuilder that can help with this:

// Create a builder using the built-in conversions as the basis.
$builder = \Mimey\MimeMappingBuilder::create();

// Add a conversion. This conversion will take precedence over existing ones.
$builder->add('custom/mime-type', 'myextension');

$mimes = new \Mimey\MimeTypes($builder->getMapping());
$mimes->getMimeType('myextension'); // custom/mime-type
$mimes->getExtension('custom/mime-type'); // myextension

You can add as many conversions as you would like to the builder:

$builder->add('custom/mime-type', 'myextension');
$builder->add('foo/bar', 'foobar');
$builder->add('foo/bar', 'fbar');
$builder->add('baz/qux', 'qux');
$builder->add('cat/qux', 'qux');
...

Optimized Custom Conversion Loading

You can optimize the loading of custom conversions by saving all conversions to a compiled PHP file as part of a build step.

// Add a bunch of custom conversions.
$builder->add(...);
$builder->add(...);
$builder->add(...);
...
// Save the conversions to a cached file.
$builder->save($cache_file_path);

The file can then be loaded to avoid overhead of repeated $builder->add(...) calls:

// Load the conversions from a cached file.
$builder = \Mimey\MimeMappingBuilder::load($cache_file_path);
$mimes = new \Mimey\MimeTypes($builder->getMapping());

Install

Compatible with PHP >= 5.4.

composer require ralouphie/mimey