IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Forcer le téléchargement d'un fichier


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2007
    Messages
    28
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Juin 2007
    Messages : 28
    Par défaut Forcer le téléchargement d'un fichier
    Bonjour,

    j'ai un problème avec un script. Sur une page j'ai un lien qui une fois cliquez créé un fichier. Ensuite, je veux que l'utilisateur puisse directement télécharger ce fichier.

    Pour cela j'ai ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $writer->writeTheFile($name['name'].'.po'); //crée le fichier
     
    //la je veux forcer le téléchargement :
    header('Content-Type: application/x-rar-compressed');
    header('Content-disposition: attachment; filename='.$name['name'].'.po');
    header('Pragma: no-cache');
    header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
    header('Expires: 0');
    readfile('files2');
    exit();
    Mon fichier créé se trouve dans le répertoire files2.
    lorsque je clique sur le lien le fichier est bien créé, et firefox me propose de télécharger ce fichier (il a le bon nom) mais il est vide alors que le fichier sur le serveur est correct.
    Je ne comprend pas pourquoi. Quelqu'un peut m'aider ?

    Merci.


    Je viens d'essayer en créant un fichier download.php :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?
    header('Content-Type: application/x-rar-compressed');
    header('Content-disposition: attachment; filename='.htmlentities($_GET['file']));
    header('Pragma: no-cache');
    header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
    header('Expires: 0');
    readfile('../files2/');
    exit();
    ?>
    et dans mon autre fichier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $writer->writeTheFile($name['name'].'.po');
    ?>
    <script language='JavaScript'>
    	document.location.href="libs/download.php?file=<?php echo $name['name'].'.po';?>"
    </script>
    Le résultat est le même


    Je précise si je change readfile('../files2/'); par une adresse éronnée j'obtiens dans le fichier que je télécharge :
    <br />
    <b>Warning</b>: readfile(files2/) [<a href='function.readfile'>function.readfile</a>]: failed to open stream: No such file or directory in <b>/var/www/html/libs/download.php</b> on line <b>7</b><br />

  2. #2
    Membre très actif
    Avatar de keaton7
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    743
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 743
    Par défaut
    Bonjour,

    il ne te manquerait pas le nom du fichier dans ton readfile ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/06/2007, 15h27
  2. Réponses: 2
    Dernier message: 30/05/2006, 15h07
  3. Comment forcer le téléchargement d'un fichier avec IE.
    Par karibouxe dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 24/05/2006, 11h51
  4. forcer le téléchargement - problème ouverture fichier
    Par grinder59 dans le forum Langage
    Réponses: 8
    Dernier message: 09/03/2006, 15h59
  5. [Configuration] problème pour forcer le téléchargement d'un fichier
    Par All Bran dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 02/01/2006, 16h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo