finfo_open

finfo::__construct

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

finfo_open -- finfo::__constructErstellt eine neue fileinfo Ressource

Beschreibung

Prozeduraler Stil

finfo_open ([ int $options = FILEINFO_NONE [, string $magic_file ]] ) : resource

Objektorientierter Stil (constructor):

public finfo::__construct ([ int $options = FILEINFO_NONE [, string $magic_file ]] )

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

Parameter-Liste

options

Eine oder eine Trennung verschiedener Fileinfo- Konstanten

magic_file

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

Gibt bei Erfolg eine magische Datenbank-Ressource zurück. Im Fehlerfall wird FALSE zurückgegeben.

Anmerkungen

Warnung

Das Format der erwarteten magischen Datenbankressource änderte sich in PHP 5.3.11 und 5.4.1. Infolge dessen wurde die interne magische Datenbank aufgerüstet. Dieser Code ist am effektivsten, wenn eine externe Datenbank benutzt wird: Das Lesen aus einer älteren magischen Datenbank wird nun fehlschlagen. Auch einige Textdarstellungen der MIME-Typen wurden geändert. Für PHP würde zum Beispiel "PHP script, ASCII text" statt "PHP script text" zurück gegeben.

Hinweis:

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

Beispiele

Beispiel #1 Objektorientierter Stil

<?php
/*
 Setup für die Rückgabe von MIME-Typ und Encoding
 unter Verwendung der angegebenen Datenbank /usr/share/misc/magic
 */
$finfo = new finfo(FILEINFO_MIME"/usr/share/misc/magic");

/* Pfad zu einer Datei */
$filename "/usr/local/something.txt";

/*
 Ermittelt den MIME-Typ der Datei, beispielsweise
 text/plain; charset=us-ascii
 */
echo $finfo->file($filename);

?>

Beispiel #2 Prozeduraler Stil

<?php
/*
 Setup für die Rückgabe von MIME-Typ und Encoding
 unter Verwendung der angegebenen Datenbank /usr/share/misc/magic
 */
$finfo finfo_open(FILEINFO_MIME"/usr/share/misc/magic");

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

/* Pfad zu einer Datei */
$filename "/usr/local/something.txt";

/*
 Ermittelt den MIME-Typ der Datei, beispielsweise
 text/plain; charset=us-ascii
 */
echo finfo_file($finfo$filename);

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

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

text/plain; charset=us-ascii

Siehe auch