File::Type(3) User Contributed Perl Documentation File::Type(3)NAMEFile::Type - determine file type using magic
SYNOPSIS
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);
DESCRIPTIONFile::Type uses magic numbers (typically at the start of a file) to
determine the MIME 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 the
MIME type of the file.
checktype_contents($data)
Matches $data against the magic database criteria and returns the MIME
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 seperate 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.
ACKNOWLEDGMENTSFile::Type 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
<http://cleancode.org/cgi-bin/viewcvs.cgi/email/mime-
magic.mime?rev=1.1.1.1>.
AUTHOR
Paul Mison <pmison@fotango.com>
COPYRIGHT
Copyright 2003-2004 Fotango Ltd.
LICENSE
Licensed under the same terms as Perl itself.
perl v5.14.0 2011-06-17 File::Type(3)