finfo_open

finfo::__construct

Create a new finfo instance

&reftitle.description;

&style.procedural;

``finfo``false```finfo_open` `int` `flags` `FILEINFO_NONE` ``string``null```magic_database`&null;

&style.oop; (constructor):

public `finfo::__construct` `int` `flags` `FILEINFO_NONE` ``string``null```magic_database`&null;

This function opens a magic database and returns its instance.

&reftitle.parameters;

`flags`

- One or disjunction of more Fileinfo constants.

`magic_database`

- Name of a magic database file, usually something like `/path/to/magic.mime`. If not specified, the `MAGIC` environment variable is used. If the environment variable isn't set, then PHP's bundled magic database will be used.

  Passing &null; or an empty string will be equivalent to the default value.

&reftitle.returnvalues;

(Procedural style only) Returns an `finfo` instance on success,&return.falseforfailure;.

&reftitle.changelog;

&Version; | &Description;
8.1.0 | Returns an `finfo` instance now; previously, a &resource; was returned.
8.0.3 | `magic_database` is nullable now.

&reftitle.examples;

### &style.oop;

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

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

    ?>

### &style.procedural;

    <?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);
    ?>

&example.outputs;

    text/plain; charset=us-ascii

&reftitle.notes;

Generally, using the bundled magic database (by leaving `magic_database` and the `MAGIC` environment variables unset) is the best course of action unless you specifically need a custom magic database.

&reftitle.seealso;

- `finfo_close`