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 téléchargement sans créer un fichier


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 92
    Points : 57
    Points
    57
    Par défaut forcer téléchargement sans créer un fichier
    bonjour

    J'ai le contenu d'un fichier xml dans une variable php
    (généré à partir d'un tableau)
    je cherche s'il est possible de
    forcé le téléchargement de celui ci sans générer de fichier sur
    le serveur ?

    En modifiant le header j'arrive a afficher le fichier au format xml
    dans le navigateur
    mais maintenant je voudrais que la page soit généré (mais pas
    physiquement sur le serveur) puis downloadé par le client

    quelqu'un a une idée ?

    Cordialement

  2. #2
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Bonjour,

    tu as essayé l'exemple de la ?
    http://php.developpez.com/faq/?page=..._forcedownload

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 92
    Points : 57
    Points
    57
    Par défaut
    j'ai déjà essayé mais il faut que le fichier
    soit physiquement sur le serveur

    moi j'ai le contenu dans une variable PHP
    et en veux pas créer de fichier sur le serveur
    si je modifie l'entête en mettant
    header('Content-type: application/xml');
    puis en imprimant le contenu de la variable
    cela m'afficher de le fichier xml dans le navigateur

    moi je ne veux pas l'afficher mais juste le downloader

    alors c'est peut etre pas possible mais sait on jamais

  4. #4
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Si, la FAQ répond en partie à ta question, mais peut-être pas exactement à ce que tu demandes...
    En modifiant la réponse de la FAQ comme ci dessous qu'est-ce que ça donne ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    <?php
    define('CFG_SEND_FILENAME', 'fichier.xml'); // Nom du ficher pour le navigateur
     
    define('CFG_FILESIZE', strlen($variable));
    define('CFG_FILE_MD5', md5($variable));
    define('CFG_DATE_FORMAT', 'D, d M Y H:i:s');
     
    error_reporting(0);
    ini_set('zlib.output_compression', 0);
     
    header('Pragma: public');
    header('Last-Modified: '.gmdate(CFG_DATE_FORMAT).' GMT');
    header('Cache-Control: must-revalidate, pre-check=0, post-check=0, max-age=0');
     
    header('Content-Tranfer-Encoding: none');
    header('Content-Length: '.CFG_FILESIZE);
    header('Content-MD5: '.base64_encode(CFG_FILE_MD5));
    header('Content-type: application/xml');
    header('Content-Disposition: attachement; filename="'.CFG_SEND_FILENAME.'"');
     
    header('Date: '.gmdate(CFG_DATE_FORMAT, time()).' GMT');
    header('Expires: '.gmdate(CFG_DATE_FORMAT, time()+1).' GMT');
    header('Last-Modified: '.gmdate(CFG_DATE_FORMAT, time()).' GMT');
     
    echo $variable;

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 92
    Points : 57
    Points
    57
    Par défaut
    Ca ouvre le fichier dans le navigateur
    mais pas de demande de telechargement

  6. #6
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Je crois avoir trouvé le coupable : remplaces
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Content-Disposition: attachement; filename="'.CFG_SEND_FILENAME.'"');
    par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header('Content-Disposition: attachment; filename="'.CFG_SEND_FILENAME.'"');
    (pas de e à attachment)

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 92
    Points : 57
    Points
    57
    Par défaut
    Ca fonctionne

    merci beaucoup

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

Discussions similaires

  1. Exporter vers feuille Excel (sans créer de fichier)
    Par lanonyme dans le forum VBA Access
    Réponses: 2
    Dernier message: 13/06/2008, 16h05
  2. Forcer téléchargement et chemin des fichiers
    Par nicolas.pissard dans le forum Langage
    Réponses: 2
    Dernier message: 15/01/2008, 14h54
  3. Réponses: 4
    Dernier message: 30/08/2007, 11h04
  4. Créer un fichier ELF sans même GNU/ld
    Par Hibou57 dans le forum Administration système
    Réponses: 9
    Dernier message: 13/01/2007, 18h59
  5. Problème forcer téléchargement fichier
    Par cams dans le forum Langage
    Réponses: 34
    Dernier message: 15/12/2005, 16h42

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