Crea una nueva instancia finfo

# finfo_open

# finfo::__construct

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

finfo_open -- finfo::__construct — Crea una nueva instancia finfo

### Descripción

Estilo procedimental

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

Estilo orientado a objetos (constructor):

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

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

### Parámetros

`flags`
  Una o una unión de varias constantes Fileinfo.
`magic_database`
  Nombre de fichero de una base de datos mágica, normalmente algo como /path/to/magic.mime. Si no se especifica, se utiliza la variable de entorno `MAGIC`. Si la variable de entorno no está definida, se utilizará la base de datos mágica integrada en PHP. Pasar `null` o un string vacío equivale a utilizar el valor por omisión.

### Valores devueltos

(Únicamente en modo procedimental) Devuelve una instancia de finfo en caso de éxito, o `false` si ocurre un error.

### Historial de cambios

Versión | Descripción
--- | ---
8.1.0 | Ahora devuelve una instancia de finfo ; anteriormente, se esperaba una resource.
8.0.3 | `magic_database` ahora es nullable.

### Ejemplos

Ejemplo #1 Estilo orientado a objetos

    <?php
    $finfo = new finfo(FILEINFO_MIME, "/usr/share/misc/magic"); // Devuelve el tipo mime

    /* Obtiene el mime-type de un fichero específico */
    $filename = "/usr/local/something.txt";
    echo $finfo->file($filename);

    ?>

Ejemplo #2 Estilo procedimental

    <?php
    $finfo = finfo_open(FILEINFO_MIME, "/usr/share/misc/magic"); // Devuelve el tipo mime

    if (!$finfo) {
        echo "Fallo al abrir la base de datos fileinfo";
        exit();
    }

    /* Obtiene el mime-type de un fichero específico */
    $filename = "/usr/local/something.txt";
    echo finfo_file($finfo, $filename);

    /* Cierre de la conexión */
    finfo_close($finfo);
    ?>

El ejemplo anterior mostrará:

    text/plain; charset=us-ascii

### Notas

> Nota: Generalmente, el uso de la base de datos mágica integrada (dejando las variables de entorno `magic_database` y `MAGIC` no definidas) es la mejor solución a menos que se necesite una base de datos mágica específica.

### Ver también

- finfo_close() - Cierra una instancia finfo

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