$path = 'ma_musique_DRMisée.mp3'; $finfo = finfo_open(FILEINFO_MIME, "D:/wamp/bin/php/php5.2.5/extras/magic"); echo finfo_file($finfo, $path); // affiche le type mime : audio/mpeg finfo_close($finfo);Pour info, pour forcer le téléchargement d'un fichier j'utilise le script suivant :
$path = '/datas/medias/mon_fichier.flv';
$label = basename ($path);
$finfo = finfo_open(FILEINFO_MIME, "D:/wamp/bin/php/php5.2.5/extras/magic");
$mime_type = finfo_file($finfo, $path);
finfo_close($finfo);
header("Cache-Control: public");
header("Content-Description: File Transfer");
header("Content-Disposition: attachment; Filename=\"".$label."\"");
header('Content-Type: '.$mime_type.';');
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.filesize($path));
header('Pragma: no-cache');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Expires: 0');
readfile($path);
Petite note pour la route, pour télécharger les fichiers assez volumineux, pensez à augmenter la taille de la mémoire avec un ini_set("memory_limit","50M"); dans votre script PHP, ou avec un php_value memory_limit 50M dans votre fichier .htaccess. Il n'y aucun commentaire actuellement. Tant pis.