finfo_open

finfo::__construct

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

finfo_open -- finfo::__constructErstellt eine neue Fileinfo-Instanz

Beschreibung

Prozeduraler Stil

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

Objektorientierter Stil (constructor):

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

Diese Funktion öffnet eine magische Datenbank und gibt ihre Instanz zurück.

Parameter-Liste

flags

Eine Fileinfo-Konstante oder mehrere, die durch binäres ODER kombiniert werden.

magic_database

Name einer magischen Datenbankdatei, gewöhnlich ungefähr so: /path/to/magic.mime. Falls nicht spezifiziert, wird die MAGIC-Umgebungsvariable verwendet. Falls die Umgebungsvariable nicht gesetzt ist, wird die PHP-eigene magische Datenbank benutzt.

Übergibt null oder eine leere Zeichenfolge gleichbedeutend mit dem Standardwert.

Rückgabewerte

(Nur prozeduraler Stil) Gibt bei Erfolg eine finfo-Instanz zurück. Bei einem Fehler wird false zurückgegeben.

Changelog

Version Beschreibung
8.1.0 Gibt nun eine finfo-Instanz zurück; vorher wurde eine Ressource zurückgegeben.
8.0.3 magic_database ist jetzt nullable (akzeptiert den null-Wert).

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
$finfo
= new finfo(FILEINFO_MIME, "/usr/share/misc/magic"); // gib den MIME-Typ ala mimetype-Erweiterung zurück

/* MIME-Typ für eine bestimmte Datei ermitteln */
$filename = "/usr/local/something.txt";
echo
$finfo->file($filename);

?>

Beispiel #2 Prozeduraler Stil

<?php
$finfo
= finfo_open(FILEINFO_MIME, "/usr/share/misc/magic"); // gib den MIME-Typ ala mimetype-Erweiterung zurück

if (!$finfo) {
echo
"Öffnen der Fileinfo-Datenbank fehlgeschlagen";
exit();
}

/* MIME-Typ für eine bestimmte Datei ermitteln */
$filename = "/usr/local/something.txt";
echo
finfo_file($finfo, $filename);

/* Verbindung schließen */
finfo_close($finfo);
?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

text/plain; charset=us-ascii

Anmerkungen

Hinweis:

Das Benutzen der eingebundenen magischen Datenbank (indem magic_database und die MAGIC-Umgebungsvariable nicht gesetzt werden) wird generell empfohlen, sofern keine benutzerdefinierte magische Datenbank benötigt wird.

Siehe auch