Documentación offline PHP master

finfo_open

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

finfo_open

finfo::__construct

Crea una nueva instancia finfo

Descripción#

Estilo procedimental

finfo_open([int $flags], [string $magic_database]): finfo
```php

Estilo orientado a objetos (constructor):

```php
public finfo::__construct([int $flags], [string $magic_database])

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#

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);

?>

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#

[!NOTE] 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.

Véase también#

finfo_close