(PHP >= 5.3.0, PHP 7, PHP 8, PECL fileinfo >= 0.1.0)
finfo_open -- finfo::__construct — Cria uma instância de finfo
Estilo procedural
Estilo orientado a objetos (construtor):
Esta função abre um banco de dados mágico e retorna a instância.
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.
(Apenas no estilo procedural)
Retorna uma instância de finfo em caso de sucesso, ou false
em caso de falha.
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.
|
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
Nota:
Geralmente, usar o banco de dados mágico incluído no PHP (deixando o parâmetro
magic_database
e as variáveis de ambienteMAGIC
indefinidos) é o melhor caminho a seguir, a menos que um banco de dados mágico personalizado seja necessário.