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 :

téléchargement fichier, fichier contenant le contenu de ma page html à la suite


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut téléchargement fichier, fichier contenant le contenu de ma page html à la suite
    Salut à tous,

    Je n'ai jamais trop fait de téléchargement de fichier en php, et après de multiples essais, je n'arrive pas à résoudre un problème.

    Le contenu de mon fichier contient bien celui du fichier que je souhaites envoyer, mais il est ajouté à la suite, le contenu de ma page html en cours

    Voici le morceau du code php de download, normalement correct :

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    file_put_contents('./temp/' . $fichier, $sqlS);
    $tailleFichier = filesize('./temp/' . $fichier);
    //echo pre($sqlS);
     
    header('Content-disposition: attachment; filename=$fichier'); 
    header('Content-Type: application/force-download'); 
    header('Content-Transfer-Encoding: text/plain' . "\n");
    header('Content-Length: ' . $tailleFichier); 
    header('Pragma: no-cache'); 
    header('Cache-Control: must-revalidate, post-check=0, pre-check=0, public'); 
    header('Expires: 0'); 
    readfile('./temp/' . $fichier);

    J'ai même tenté en mettant un exit juste derrière, et ça ne résout pas le problème.

    J'y comprend rien.

    Ma page php de base est générée par une classe, est-ce que cela pourrait venir de la function __destruct() de cette classe ?

    Voilà, merci de votre aide.

  2. #2
    Membre averti Avatar de TucSale
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 264
    Points : 325
    Points
    325
    Par défaut
    bonjour,

    je n'ai pas de solution mais
    As tu essayé l'option FILE_APPEND
    As tu essayé avec fopen(), fwrite(), et fclose() car je ne sais pas avec quelle option file_put_contents ouvre ton fichier.

    Car je pense que ton $fichier n'es pas vide au départ, fais un readfile avant ton file_put_contents pour savoir
    Tuc l'Original, On ne peut que l'aimer

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2006
    Messages
    685
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 685
    Points : 658
    Points
    658
    Par défaut
    J'ai dû mal m'expliquer désolé, le contenu de mon fichier créé avec file_put_contents est correct, le problème se situe au niveau des headers.

    c'est Lorsque je le télécharge que le html de ma page est ajouté au contenu du fichier.

    Je n'arrive pas à comprendre pourquoi

Discussions similaires

  1. Ouvrir et modifier un fichier .doc en l'appellant depuis une page html
    Par Dan99 dans le forum Général Conception Web
    Réponses: 2
    Dernier message: 29/05/2012, 21h42
  2. Réponses: 2
    Dernier message: 20/08/2009, 11h12
  3. Réponses: 1
    Dernier message: 03/08/2007, 13h25
  4. envoi d'un fichier pdf à la place d'une page html
    Par youp_db dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 05/12/2006, 09h19
  5. Réponses: 5
    Dernier message: 08/12/2005, 20h13

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