Cria uma instância de finfo

# finfo_open

# finfo::__construct

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

finfo_open -- finfo::__construct — Cria uma instância de finfo

### Descrição

Estilo procedural

function finfo_open(int `$flags` = `FILEINFO_NONE`, ?string `$magic_database` = `null`): finfo|false

Estilo orientado a objetos (construtor):

public function finfo::__construct(int `$flags` = `FILEINFO_NONE`, ?string `$magic_database` = `null`)

Esta função abre um banco de dados mágico e retorna a instância.

### Parâmetros

`flags`
  Uma ou disjunção de mais constantes Fileinfo.
`magic_database`
  Nome de um arquivo de banco de dados mágico, geralmente algo como /caminho/para/magic.mime. Se não for especificado, a variável de ambiente `MAGIC` será usada. O banco de dados mágico incluído no PHP será usado se a variável de ambiente não estiver definida. Passar `null` ou uma string vazia será equivalente ao valor padrão.

### Valor Retornado

(Apenas no estilo procedural) Retorna uma instância de finfo em caso de sucesso, ou `false` em caso de falha.

### Registro de Alterações

Versão | Descrição
--- | ---
8.1.0 | Agora retorna uma instância de finfo; anteriormente, um resource era retornado.
8.0.3 | O parâmetro `magic_database` agora pode ser nulo.

### Exemplos

Exemplo #1 Estilo orientado a objetos

    <?php
    $finfo = new finfo(FILEINFO_MIME, "/usr/share/misc/magic"); // retorna o tipo MIME, também conhecido como extensão mimetype

    /* Obtém o tipo MIME de arquivo específico */
    $nome_do_arquivo = "/usr/local/alguma_coisa.txt";
    echo $finfo->file($nome_do_arquivo);

    ?>

Exemplo #2 Estilo procedural

    <?php
    $finfo = finfo_open(FILEINFO_MIME, "/usr/share/misc/magic"); // retorna o tipo MIME, também conhecido como extensão mimetype

    if (!$finfo) {
        echo "Falha ao abrir banco de dados fileinfo";
        exit();
    }

    /* Obtém o tipo MIME de arquivo específico */
    $nome_do_arquivo = "/usr/local/alguma_coisa.txt";
    echo finfo_file($finfo, $nome_do_arquivo);

    /* fecha a conexão */
    finfo_close($finfo);
    ?>

O exemplo acima produzirá:

    text/plain; charset=us-ascii

### Notas

> Nota: Geralmente, usar o banco de dados mágico incluído no PHP (deixando o parâmetro `magic_database` e as variáveis de ambiente `MAGIC` indefinidos) é o melhor caminho a seguir, a menos que um banco de dados mágico personalizado seja necessário.

### Veja Também

- finfo_close() - Fecha uma instância de finfo

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open