logo

NPDS : Gestion de contenu et de communauté


Content & Community Management System (CCMS) robuste, sécurisé, complet, performant, parlant vraiment français, libre (Open-Source) et gratuit.
21 visiteur(s) et 0 membre(s) en ligne.
Activité du Site

Pages vues depuis 25/05/2001 : 109 442 161

  • Nb. de membres 8 696
  • Nb. d'articles 1 695
  • Nb. de forums 26
  • Nb. de sujets 8
  • Nb. de critiques 92

Top 10  Statistiques

Index du forum »»  Le coin des codeurs »» Forcer le téléchargement d'un fichier - problème

Forcer le téléchargement d'un fichier - problème#19052

2Contributeur(s)
ludo-nimesTito
3 Modérateur(s)
developpeurjpbJireck
ludo-nimes ludo-nimesicon_post
Bonjour à tous,

J'ai un problème lorsque je force le téléchargement d'un fichier qui se trouve dans le même dossier que la page php, cela fonctionne, si par contre le fichier se trouve dans un autre dossier, impossible d'y accéder!

J'ai tout essayé en rentrant le chemin complet du fichier :
http://www.monsite.com/mondossier/monfichier.mp3

ou en ajoutant les 2 points pour remonter dans l'arborescence :
../mondossier/monfichier.mp3

Si quelqu'un a eu le même problème comment s'en est-il sorti car les nuits blanches s'enchainent sans aucun résultat!

Merci. Ludo.
Tito Titoicon_post

<?php
$file 
"../dossier/fichier.txt";
$filename = basename($file);
header(
"!content-type:! application/force-download");
header(
"!content-disposition:! attachment; filename=\"$filename\"");
readfile(
"$file");
?>


On va chercher le dossier dossier dans le dossier parent.
Si c'est dans le même dossier, mets ./dossier/fichier.txt (un seul .)
ludo-nimes ludo-nimesicon_post
Salut,

Merci pour ta réponse si rapide! c'est bien l'erreur que j'avais faite de mettre deux points au lieu d'un seul, ça fonctionne bien sous mozilla mais internet explorer ne veut toujours rien savoir!!

embêtant ça!

Ludo.
Tito Titoicon_post
As-tu bien elevé les ! ?
Est-ce qu'il y a des espaces dans les noms de tes fichier?
ludo-nimes ludo-nimesicon_post
Et non, aucun espace c'est un dossier tout bête qui s'appelle "ess" et le fichier à downloader "seq1.wav"

la variable qui contient le chemin d'accès est donc :

$chemin="./ess/seq1.wav";

Bizare vu que ça marche avec Mozilla et Netscape, mais pas avec IE, par contre ils me changent le nom du fichier comme ceci:

.-ess-seq1.wav

Tito Titoicon_post

<?php
header
("!content-type:! application/force-download");
header(
"!content-disposition:! attachment; filename=seq1.wav");
readfile(
"./ess/seq1.wav");
?>


N'oublie pas d'enlever les points d'exclamation
ludo-nimes ludo-nimesicon_post
Merci pour ton aide, je viens maintenant de retrouver cette stupide erreur grâce à toi! je vais enfin pouvoir regarder la télé tranquillement le soir!!!

Merci encore.

Ludo.