finfo_open
finfo::__construct
(PHP >= 5.3.0, PHP 7, PHP 8, PECL fileinfo >= 0.1.0)
finfo_open -- finfo::__construct — Erstellt eine neue Fileinfo-Instanz
Beschreibung
Prozeduraler Stil
Objektorientierter Stil (constructor):
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 dieMAGIC
-Umgebungsvariable nicht gesetzt werden) wird generell empfohlen, sofern keine benutzerdefinierte magische Datenbank benötigt wird.