phpman > perldoc > File::Type(3pm)

Markdown | JSON | MCP    

NAME
    File::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);

DESCRIPTION
    File::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 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.

ACKNOWLEDGMENTS
    File::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>.

AUTHOR
    Paul Mison <pmison AT fotango.com>

COPYRIGHT
    Copyright 2003-2004 Fotango Ltd.

LICENSE
    Licensed under the same terms as Perl itself.

Generated by phpman v3.7.12 Author: Che Dong Under GNU General Public License
2026-06-13 14:41 @216.73.216.28
CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!