PYTHON finfo_open

is this article helpful?
|
Python replacement for PHP's finfo_open [ edit | history ]
https://github.com/mediavince/python-magic

>>> import magic
>>> magic.from_file("testdata/test.pdf")
'PDF document, version 1.2'
>>> magic.from_buffer(open("testdata/test.pdf").read(1024))
'PDF document, version 1.2'
>>> magic.from_file("testdata/test.pdf", mime=True)
'application/pdf'

import magic

class MyClass:
    def check(self, file_input):
        file_info = magic.from_file(file_input, mime=True).encode('utf-8')
        print file_info

PHP finfo_open

PHP original manual for finfo_open [ show | php.net ]

finfo_open

finfo->__construct

(PHP >= 5.3.0, PECL fileinfo >= 0.1.0)

finfo_open -- finfo->__constructCreate a new fileinfo resource

Description

Procedural style

resource finfo_open ([ int $options= FILEINFO_NONE [, string $magic_file= NULL ]] )

Object oriented style (constructor):

finfo
__construct ([ int $options= FILEINFO_NONE [, string $magic_file= NULL ]] )

This function opens a magic database and returns its resource.

Parameters

options

One or disjunction of more Fileinfo constants.

magic_file

Name of a magic database file, usually something like /path/to/magic.mime. If not specified, the MAGIC environment variable is used. If this variable is not set either, /usr/share/misc/magic is used by default. A .mime and/or .mgc suffix is added if needed.

Return Values

Returns a magic database resource on success or FALSE on failure.

Examples

Example #1 Object oriented style

<?php
$finfo 
= new finfo(FILEINFO_MIME"/usr/share/misc/magic"); // return mime type ala mimetype extension

if (!$finfo) {
    echo 
"Opening fileinfo database failed";
    exit();
}

/* get mime-type for a specific file */
$filename "/usr/local/something.txt";
echo 
$finfo->file($filename);

/* close connection */
$finfo->close();
?>

Example #2 Procedural style

<?php
$finfo 
finfo_open(FILEINFO_MIME"/usr/share/misc/magic"); // return mime type ala mimetype extension

if (!$finfo) {
    echo 
"Opening fileinfo database failed";
    exit();
}

/* get mime-type for a specific file */
$filename "/usr/local/something.txt";
echo 
finfo_file($finfo$filename);

/* close connection */
finfo_close($finfo);
?>

The above example will output:

text/plain

See Also