A helper class for working with MIME types. Should be particularly useful for validating file uploads.
Based on the MIME type list found here.
Via Composer
$ composer require imonroe/mime_utils
$allowed_mimes = new MimeUtils;
// You can allow all the available types:
$allowed_mimes->allow_all();
// or you can allow just certain subtypes:
$allowed_mimes->allow('image');
$allowed_mimes->allow('video');
// text types include htm, html, css
$allowed_mimes->allow('text');
$allowed_mimes->allow('audio');
// The application types allow potentially problematic types, e.g., pdf, swf, js, class
// enable it only if necessary.
$allowed_mimes->allow('application');
$allowed_mimes->allow('ms-office');
$allowed_mimes->allow('open-office');
$allowed_mimes->allow('wordperfect');
$allowed_mimes->allow('iwork');
// You can get the allowed extenstions as a string:
$mime_string = 'mimes:' . $allowed_mimes->get_extensions('string');
// or as an array:
$mime_string = 'mimes:' . $allowed_mimes->get_extensions('array');
// or as JSON:
$mime_string = 'mimes:' . $allowed_mimes->get_extensions('json');
// You can also get the types in the same way, in the same formats:
$mime_string = 'mimes:' . $allowed_mimes->get_types('string');
// or
$mime_string = 'mimes:' . $allowed_mimes->get_types('array');
// or
$mime_string = 'mimes:' . $allowed_mimes->get_types('json');
Please see CHANGELOG for more information on what has changed recently.
$ composer test
Please see CONTRIBUTING and CODE_OF_CONDUCT for details.
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
The MIT License (MIT). Please see License File for more information.