Determine web image file types using magic
use File::Type::WebImages 'mime_type'; my $type_1 = mime_type($file); my $type_2 = mime_type($data);
\*(C`mime_type()\*(C' can use either a filename, or file contents, to determine the type of a file. The process involves looking the data at the beginning of the file, sometimes called \*(L"magic numbers\*(R".
For minimum memory consumption, only the following common web image file types are supported:
\s-1BMP\s0, \s-1GIF\s0, \s-1JPEG\s0 and \s-1PNG\s0. ( image/bmp, image/gif, image/jpeg and image/png ).
Unlike with File::Type and File::MMagic, 'undef', not \*(L"application/octet-stream\*(R" will be returned for unknown formats.
Unlike File::Type, we return \*(L"image/png\*(R" for PNGs, not \*(L"image/x-png\*(R";
If you want more mime types detected use File::Type or some other module.
It would be even better to have a pluggable system that would allow you to plug-in different sets of MIME-types you care about.
File::Type. Similar, but supports over 100 file types.
File::Type::WebImages is built from a mime-magic file from cleancode.org. The original can be found at <http://cleancode.org/cgi-bin/viewcvs.cgi/email/mime-magic.mime?rev=1.1.1.1>.
Paul Mison <[email protected]> - wrote original File::Type Mark Stosberg <[email protected]> - hacked up this.
Copyright 2003-2004 Fotango Ltd.
Licensed under the same terms as Perl itself.