Page 1 sur 1

Petit souci d'un système de téléchargement

Posté : 23 nov. 2007, 20:05
par moileraz
Bonjour je travail actuellement sur un système d'upload et download de fichier. Le upload fonctionne sans problème par contre la partie download fonctionne pas.

Voici mon code:
$file = "/dossier/fichier.doc";


header("Content-Type: application/force-download; name=\"$file\""); 
header("Content-Transfer-Encoding: binary"); 
header("Content-Length: filsize($file)"); 
header("Content-Disposition: attachment; filename=\"$file\""); 
header("Expires: 0"); 
header("Cache-Control: no-cache, must-revalidate"); 
header("Pragma: no-cache");  
readfile($file); 
exit(); 
Premier souci : le nom du fichier deviens _dossier_fichier.doc
Deuxieme souci: lorsque ca télécharge, le fichier est vide.

j'ai essayé de faire la même opération pour télécharger un fichier php le nom deviens _dossier_fichier.php mais la le fichier a du contenu.

avez vous une petite piste?

merci d'avance

Posté : 23 nov. 2007, 20:41
par h0_noMan
Sors les variables ainsi que les fonction des chaines de caracteres.
$file = "/dossier/fichier.doc";

header('Content-Type: application/force-download; name="'.$file.'"'); 
header('Content-Transfer-Encoding: binary'); 
header('Content-Length: '.filesize($file)); 
header('Content-Disposition: attachment; filename="'.$file.'"'); 
header('Expires: 0'); 
header('Cache-Control: no-cache, must-revalidate'); 
header('Pragma: no-cache');  
readfile($file); 
exit(); 

Posté : 23 nov. 2007, 22:16
par moileraz
J'ai trouvé la solution

enlevé cette ligne:
header('Content-Length: '.filesize($file)); 

Posté : 26 nov. 2007, 16:30
par d-sam
attention, c'est cette ligne qui permet au navigateur d'indiquer "XX octets téléchargés sur YY au total, 12 minutes restantes"
à n'enlever que pour de petits fichiers, donc ;)