Forcer téléchargement fichier
Posté : 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 :
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...