Forcer téléchargement fichier

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Forcer téléchargement fichier

Forcer téléchargement fichier

par peroq » 05 nov. 2006, 04:06

Bonjour à tous,

une question de débutant mais pour laquelle je ne trouve malheureusement pas de réponse...

J'ai un fichier sur le serveur.
Il est dans un répertoire auquel le serveur web n'a pas accès.
Donc je souhaite utiliser la fonction readfile() pour l'envoyer au navigateur.

MAIS :

Sur I.E., dans la boite de dialogue qui propose le téléchargement du fichier, le nom indiqué n'est pas celui du fichier à télécharger, mais le nom du fichier qui contient le script de téléchargement (http://localhost/Download.php?File=0000 ... leados.doc)

Et je ne peut pas télécharger le fichier car j'ai un message d'erreur
(IE n'a pas pu ouvrir ce site internet)

Je pense que c'est à cause du nom de fichier qui contient des caracteres interdits (notamment ?).

Sur FireFox, cela fonctionne correctement

Est-il possible de faire en sorte que le nom
du fichier téléchargé soit du type : "fichier.ext" ?

URL :
http://localhost/Download.php?File=0000 ... leados.doc

Ci dessous mon code php :
$File = str_replace("\\","\\\\",$_SESSION["FileDir"].$_GET["File"]);
$Name = $_GET["Name"];
header('Content-type: '.$MimeType);
header('Content-Disposition: attachment; filename='.$Name);
header("Content-Length: ".filesize($File));
flush();
readfile($File);
exit();
Merci pour votre aide...