PierreThierry
mardi 30 décembre 2003 à 04:55
Seul souci du code PHP sus-cité : le type MIME application/force-download, qui n'a jamais existé (
http://www.iana.org/assignments/media-types/application/). Ce n'est donc pas standard du tout. L'utilisation de l'en-tête suivant suffit en fait à ce que l'image n'apparaisse pas dans le navigateur, qui proposera de sauvegarder le fichier (cf. RFC 2616, HTTP/1.1) :
CODE
Content-Dispotion: attachment; filename=mon-image.jpg
Voici le code nécessaire :
CODE
<?php
$filename = recupererCeFoutuNomDeFichierDUneQuelconqueManiere();
$type = recuperLeTypeMimeDuFichierEnQuestion($filename);
header("Content-Type: $type");
header('Content-Disposition: attachment; filename=' . basename($filename));
echo fread(fopen($filename, 'r'), filesize($filename));
?>
On peut se permettre de ne pas chercher précisément le type, auquel cas il suffit de transmettre
CODE
Content-Type: application/octet-stream