Detecteren MIME type van een bestand

Er is in PHP geen betrouwbare functie om het MIME type van een bestand te detecteren.

  • getimagesize (alleen geschikt voor afbeeldingen)
  • mime_content_type (deze functie heeft de status deprecated.)
  • Fileinfo (Is een PECL extensie, en moet op de server geinstaleerd worden)

De beste oplossing is om eerst de bestandsextentie te bepalen en deze vervolgens te koppelen via een Array aan het MIME type.

$extension = strtolower(pathinfo($filename, PATHINFO_EXTENSION));

In het Kohana Framework is een Array van deze MIME types aanwezig, en kan de volgende aanroep worden gebruikt :

$mime = File::mime_by_ext($extension);