File::Type (3)
Leading comments
Automatically generated by Pod::Man 2.28 (Pod::Simple 3.28) Standard preamble: ========================================================================
NAME
File::Type - determine file type using magicSYNOPSIS
my $ft = File::Type->new(); # read in data from file to $data, then my $type_from_data = $ft->checktype_contents($data); # alternatively, check file from disk my $type_from_file = $ft->checktype_filename($file); # convenient method for checking either a file or data my $type_1 = $ft->mime_type($file); my $type_2 = $ft->mime_type($data);
DESCRIPTION
File::Type uses magic numbers (typically at the start of a file) to determine theMIME
type of that file.
File::Type can use either a filename, or file contents, to determine the type of a file.
METHODS
new
Returns a new File::Type object.mime_type($argument)
Takes either data or a filename, determines what it is, and passes the argument through to the relevant method below. If the argument is a directory, returns undef.checktype_filename($filename)
Opens $filename (if possible; if not, returns undef) and returns theMIME
type of the file.
checktype_contents($data)
Matches $data against the magic database criteria and returns theMIME
type of the file.
TODO
- * Add additional magic match criteria
BUGS
None known.NOTES
Some magic definitions in the mime-magic file used in the creation of this
module vary from those in other apps (eg image/x-png not image/png).
SEE ALSO
File::MMagic and File::MimeInfo perform the same job, but have a number of problems that led to the creation of this module.File::MMagic inlines a copy of the magic database, and uses a
DATA
filehandle, which causes problems when running under mod_perl.
File::MimeInfo uses an external magic file, and relies on file extensions rather than magic to determine the mime type.
As a result, File::Type uses a separate module and script to create the code at the core of this module, which means that there is no need to include a magic database at all, and that it is safe to run under mod_perl.
File::Type::Builder, which generates the code at the heart of this module.