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
Estilo orientado a objetos (construtor):
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
Example #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);
?>
Example #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
Note:
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.