Lorsqu'on propose un téléchargement via une interface web, ou si on veut mettre des pièces jointes dans un mail, il faut avoir le "mime-type" (Multipurpose Internet Mail Extensions) du fichier. Une fonction PHP existe pour celà , c'est mime_content_type() malheureusement elle n'est pas toujours disponible.
Voici une petite astuce qui permet de la recréer:
<?php if (!function_exists(mime_content_type)) { // Nous sommes dans le cas où elle n'existe pas function mime_content_type($f) { $ext = strtolower(substr($f,strrpos($f, "."))); // On ne se base que sur l'extension du fichier switch($ext){ case ".gz": $mtype = "application/x-gzip"; break; case ".tgz": $mtype = "application/x-gzip"; break; case ".zip": $mtype = "application/zip"; break; case ".pdf": $mtype = "application/pdf"; break; case ".png": $mtype = "image/png"; break; case ".gif": $mtype = "image/gif"; break; case ".jpg": case "jpeg": $mtype = "image/jpeg"; break; // Notez le cas d'un même type avec différentes extensions case ".txt": $mtype = "text/plain"; break; case ".htm": case ".html": $mtype = "text/html"; break; default: $mtype = "application/octet-stream"; break; // Par défaut, c'est application/octet-stream } return $mtype; } } ?>