# finfo_open

# finfo::__construct

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

finfo_open -- finfo::__construct — Crée une nouvelle instance finfo

### Description

Style procédural

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

Style orienté objet (constructor):

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

Cette fonction ouvre une base de données magique et retourne son instance.

### Liste de paramètres

`flags`

  Une ou une union de plusieurs constantes Fileinfo.

`magic_database`

  Nom de fichier d'une base de données magique, normalement quelque chose comme /path/to/magic.mime. Si non spécifié, la variable d'environnement `MAGIC` est utilisée. Si la variable d'environnement n'est pas définie, la base de données magique embarquée à PHP sera utilisée.

  Le fait de passer `null` ou une chaîne de caractères vide équivaut à utiliser la valeur par défaut.

### Valeurs de retour

(Uniquement en mode procédural) Retourne une instance de finfo en cas de succès, ou `false` si une erreur survient.

### Historique

Version | Description
--- | ---
8.1.0 | Retourne désormais une instance de finfo ; auparavant, une resource était attendu.
8.0.3 | `magic_database` est désormais nullable.

### Exemples

Exemple #1 Style orienté objet

`<?php
$finfo = new finfo(FILEINFO_MIME, "/usr/share/misc/magic"); // Retourne le type mime
/* Récupère le mime-type d'un fichier spécifique */
$filename = "/usr/local/something.txt";
echo $finfo->file($filename);
?>`

Exemple #2 Style procédural

`<?php
$finfo = finfo_open(FILEINFO_MIME, "/usr/share/misc/magic"); // Retourne le type mime
if (!$finfo) {
echo "Échec de l'ouverture de la base de données fileinfo";
exit();
}
/* Récupère le mime-type d'un fichier spécifique */
$filename = "/usr/local/something.txt";
echo finfo_file($finfo, $filename);
/* Fermeture de la connexion */
finfo_close($finfo);
?>`

L'exemple ci-dessus va afficher :

    text/plain; charset=us-ascii

### Notes

> Note:

> Généralement, l'utilisation de la base de données magique embarquée (en laissant les variables d'environnement `magic_database` et `MAGIC` non définies) est la meilleure des solutions à moins que vous n'ayez besoin d'une base de données magique spécifique.

### Voir aussi

- finfo_close() - Ferme une instance finfo