# finfo_open

# finfo::__construct

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

finfo_open -- finfo::__construct — Crea un nuevo recurso fileinfo

### Descripción

Estilo por procedimientos

finfo_open(int `$options` = FILEINFO_NONE, string `$magic_file` = `null`): resource

Estilo orientado a objetos (constructor):

public finfo::__construct(int `$options` = FILEINFO_NONE, string `$magic_file` = `null`)

Esta función abre una base de datos mágica y la devuelve a su recurso.

### Parámetros

`options`

  Una o más constantes Fileinfo .

`magic_file`

  Nombre del fichero de la base de datos mágica, normalmente es algo como /path/to/magic.mime. Si no se especifica, se utilizará la variable de entorno `MAGIC`. Si esta variable no está establecida, se usará la base de datos mágica incluida en PHP.

  Pasar `null` o un string vacío equivale al valor predeterminado.

### Valores devueltos

(Sólo Estilo por procedimientos) Devuelve el recurso de la base de datos mágica si funciona o `false` en caso de error.

### Notas

Advertencia

El formato esperado de la base de datos mágica cambió en PHP 5.3.11 y 5.4.1. Debido a esto, la base de datos mágica interna ha sido actualizada. Esto mayormente efectua código donde se use una base de datos mágica externa: leer un fichero mágico antiguo ahora fallará. Además, algunas representaciones textuales de los tipos mime han cambiado, por ejemplo, para PHP sería devuelto "PHP script, ASCII text" en lugar de "PHP script text".

> Nota:

> Generalmente, el uso de la base de datos mágica interna (dejando `magic_file` y las variables de entorno `MAGIC` sin establecer) es el mejor rumbo de acción a menos que sea necesaria especificamente una base de datos mágica personalizada.

### Ejemplos

Ejemplo #1 Estilo orientado a objetos

`<?php
$finfo = new finfo(FILEINFO_MIME, "/usr/share/misc/magic"); // Devuelve el tipo mime del tipo extensión
/* Obtiene el tipo mime para un fichero específico */
$filename = "/usr/local/something.txt";
echo $finfo->file($filename);
?>`

Ejemplo #2 Estilo por procedimientos

`<?php
$finfo = finfo_open(FILEINFO_MIME, "/usr/share/misc/magic"); // Devuelve el tipo mime del tipo extensión
if (!$finfo) {
echo "Ocurrió un error al intentar abrir la base de datos de fileinfo";
exit();
}
/* Obtiene el tipo mime para un fichero específico */
$filename = "/usr/local/something.txt";
echo finfo_file($finfo, $filename);
/* cerrar conexión */
finfo_close($finfo);
?>`

El resultado del ejemplo sería:

    text/plain; charset=us-ascii

### Ver también

- finfo_close() - Cierra el recurso fileinfo