.

MIME-Typen mit PHP ermitteln |

Für ein Webprojekt suchte ich eine PHP-Funktion, die den MIME-Typen einer Datei zuverlässig ermitteln und rückliefern kann. Die Dateiendung als Dateityp zu interpretieren, kam für mich als Linuxer natürlich nicht in Frage.

Auf der Suche nach einer “richtigen” Alternative, stieß ich in der PHP-Doku auf die Fileinfo-Functions.

Diese ermöglichen u.a. die Dateitypen-Zuordnung per libmagic.

Um die Funktionen benutzen zu können, benötigt man die PECL-Erweiterung Fileinfo.

Voraussetzung für die Installation der Extension sind php-pear, sowie die Development-Bibliotheken von PHP und LibMagic. Unter Debian Etch benötigt man also folgende Pakete:

# aptitude install php-pear php5-dev libmagic-dev

Fehlt php5-dev, erhält man bei dem Versuch, Fileinfo zu installieren, die lapidare Fehlermeldung:

sh: phpize: command not found
ERROR `phpize` failed

Sind die Voraussetzungen erfüllt, kann nun die Erweiterung selbst installiert werden:

# pecl install Fileinfo

Zuletzt macht man PHP mit der Erweiterung bekannt, indem man in der php.ini unter “Dynamic Extensions” die Zeile

extension=fileinfo.so

hinzufügt.

Nach einem Neustart des Webservers steht dann der File-Magie endlich nichts mehr im Wege, hier ein kurzes PHP-Beispiel:

function get_mimetype($_strFile) {
   /*
      gibt den Mime-Typ von $_strFile zurueck
   */

   if (!is_readable($_strFile))
      return false;

   $oFileInfo = new finfo(FILEINFO_MIME, "/usr/share/file/magic") || return false; 

   return $oFileInfo->file($_strFile);
} // function get_mimetype()
Keine Antwort zu 'MIME-Typen mit PHP ermitteln'

Noch nix da .. kommentartechnisch gesehen ... :)

Eine Antwort eintragen

*benötigt

*benötigt / nicht sichtbar

Kalender
Oktober 2007
M D M D F S S
1234567
891011121314
15161718192021
22232425262728
293031EC
Ereignisse
    • Keine Termine.
Kategorien
Archiv
Wichtiges!?

.