Forcer téléchargement ne marche pas sous IE
Bonjour,
Après de multiples recherches sur Google et sur ce forum, je ne trouve pas de réponse à mon problème spécifique que voici :
Je souhaite forcer le téléchargement d'une image depuis un album photo en ligne.
Après avoir trouvé tout un tas d'exemples de scripts PHP sur le web, j'ai fini par trouver le script adapté à mon besoin, le voici :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| <?php
$num = $_GET['num'];
$file = 'http://www.monsite.fr/ album/ '.$num.'.jpg';
$name = $num.'.jpg';
//$size=strlen(file_get_contents($file)); // Pour un fichier distant
$size=filesize($file); // Pour un fichier local
header('Content-Type: application/octet-stream');
//header('Content-Type: application/force-download');
header("Content-Transfer-Encoding: image/jpeg\n");
header('Content-Length: '.$size);
header('Content-disposition: attachment; filename='.$name.';');
header('Pragma: no-cache');
header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
header('Expires: 0');
readfile($file);
exit();
?> |
Le script marche à la perfection sous Firefox et Chrome, mais pas sous IE(9).
Lorsque je l'exécute sous IE, la boite de dialogue "enregistrer sous" apparaît bien, mais une fois l'image téléchargée, celle-ci fait 0 octet et est donc illisible. :(
J'aimerais savoir ce qui ne plait pas à IE dans mon script ?
Merci aux âmes charitables et éclairées de m'aider ;)