imonroe / mimeutils
A helper for working with MIME types, particularly for validating uploads.
0.1.0
2018-04-22 21:42 UTC
Requires
- php: ~5.6|~7.0
- illuminate/support: ~5.1
Requires (Dev)
- phpunit/phpunit: >=5.4.3
- squizlabs/php_codesniffer: ^2.3
This package is auto-updated.
Last update: 2024-11-13 07:13:21 UTC
README
A helper class for working with MIME types. Should be particularly useful for validating file uploads.
Based on the MIME type list found here.
Install
Via Composer
$ composer require imonroe/mime_utils
Usage
$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');
Change log
Please see CHANGELOG for more information on what has changed recently.
Testing
$ composer test
Contributing
Please see CONTRIBUTING and CODE_OF_CONDUCT for details.
Security
If you discover any security related issues, please email ian@ianmonroe.com instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.