|
|
Line 1: |
Line 1: |
− | <!-- Pod2Wiki=_preamble_
| |
− | This page has been automatically generated from the EPrints source. Any wiki changes made between the 'Pod2Wiki=*' and 'End of Pod2Wiki' comments will be lost.
| |
− | -->{{Pod2Wiki}}{{API:Source|file=EPrints/Sword/FileType.pm|package_name=EPrints::Sword::FileType}}[[Category:API|FileType]]<!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=head_name -->=NAME=
| |
− | File::Type - determine file type using magic
| |
| | | |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=head_synopsis -->=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);
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=head_description -->=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.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=head_methods -->=METHODS=
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=head_new -->==new==
| |
− | Returns a new File::Type object.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=head_mime_type -->==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.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=head_checktype_filename -->==checktype_filename($filename)==
| |
− | Opens $filename (if possible; if not, returns undef) and returns the MIME type of the file.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=head_checktype_contents -->==checktype_contents($data)==
| |
− | Matches $data against the magic database criteria and returns the MIME type of the file.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=head_todo -->=TODO=
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=head_bugs -->=BUGS=
| |
− | None known.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=head_notes -->==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).
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=head_see_also -->=SEE ALSO=
| |
− | {{API:PodLink|file=File/MMagic|package_name=File::MMagic|section=|text=File::MMagic}} and {{API:PodLink|file=File/MimeInfo|package_name=File::MimeInfo|section=|text=File::MimeInfo}} perform the same job, but have a number of problems that led to the creation of this module.
| |
− |
| |
− | {{API:PodLink|file=File/MMagic|package_name=File::MMagic|section=|text=File::MMagic}} inlines a copy of the magic database, and uses a DATA filehandle, which causes problems when running under mod_perl.
| |
− |
| |
− | {{API:PodLink|file=File/MimeInfo|package_name=File::MimeInfo|section=|text=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.
| |
− |
| |
− | {{API:PodLink|file=File/Type/Builder|package_name=File::Type::Builder|section=|text=File::Type::Builder}}, which generates the code at the heart of this module.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=head_acknowledgments -->=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.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=head_author -->=AUTHOR=
| |
− | Paul Mison <pmison@fotango.com>
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=head_copyright -->=COPYRIGHT =
| |
− | Copyright 2003-2004 Fotango Ltd.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=head_license -->=LICENSE=
| |
− | Licensed under the same terms as Perl itself.
| |
− |
| |
− | <!-- End of Pod2Wiki -->
| |
− | <!-- Pod2Wiki=_postamble_ --><!-- End of Pod2Wiki -->
| |