Forcer le telechargement en PHP

JI Messages postés 151 Statut Membre -  
Dud Messages postés 13 Statut Membre -
   Bonjour

J'utilise le script suivant pour forcer le telechargement

Voici enfin le script pour forcer le telechargement d'un fichier .doc, .jpg, .xls, ouverts automatiquement par le navigateur.

Dans la page où se trouve le lien hypertexte du fichier à telecharger


<?php
...
$filname=nom du fichier à downloader;
$dir= "chemin complet vers le fichier/".$filname;
...
?>
...
<a href="download.php?dir=<?=$dir?>&filname=<?=$filname?>">download</a>
...




Dans le fichier download.php ecrire ce simple code:


<?php
header("Content-type: application/force-download");
header("Content-Disposition: attachment; filename=$filname");
readfile("$chemin");
?>


Cela marche tres bien sur free.fr, mais chez mon nouvel hebergeur le nom du fichier est toujours download.avi (avi est un exemple)
Le contenu du fichier est le bon mais le nom me pose pb

Dans header("Content-Disposition: attachment; filename=$filname"); on dirai que filename prend la valeur du nom du fichier download.php3 ... Bref A L'AIDE ..

JI
A voir également:

6 réponses

JI Messages postés 151 Statut Membre 13
 
allez j suis sympa je vous laisse une chance de me repondre ;)
0
Vegeta
 
Ton envoi de header n'est pas très correct, il ne marchera pas avec tous les browsers, regarde celui que j'ai donné à cette adresse < http://www.commentcamarche.net/forum/affich.php3?cat=3&ID=127458&page=1> (je l'ai pris dans la source de phpMyAdmin).
0
JI Messages postés 151 Statut Membre 13
 
Merci pour l'info, j'en prend bonne note. Mais ceci ne regle pas monPb ;) Car c coté serveur que se trouve le PB

Qqun aurait une idée?
0
Dud Messages postés 13 Statut Membre 2
 
Salut,

Elle est vachement bien ta question : j'ai eu le même problème et je n'ai jamais réussi à le faire passer. De mémoire je crois que j'ai été obligé d'utiliser une astuce : j'ai fait une redirection. J'ai utilisé l'erreur 302 je crois et j'ai mis un header(Location : <urlfichier>).
Pas très joli, je te l'accorde... Mais bon. Je ne peux pas t'assurer que cela marche parce que pour moi, le serveur Php que j'utilisais n'acceptais pas les header d'erreur HTTP, tu aura peut être plus de chance...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JI Messages postés 151 Statut Membre 13
 
Merci Dud j'essairai ca si jamais je ne trouve pas d'autre solution!
0
Dud Messages postés 13 Statut Membre 2
 
Salut,
Si tu trouves une autre solution, tu pourras me la filer, STP ?

Dud
0