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 :

Pbme téléchargement forcé de .doc, .xls, .rtf


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 45
    Points : 36
    Points
    36
    Par défaut Pbme téléchargement forcé de .doc, .xls, .rtf
    Bonjour à tous,
    Voilà, je me prend la tête depuis pls jours sur un souci avec le téléchargement forcé, j'ai cherché un peu partout, sur le forum et autre part et je ne comprend tjs pas.
    Alors, à votre avis, pourquoi est ce que lorsque je télécharge un fichier .doc, .xls, .rtf ou .csv, ça m'ouvre un fichier tout pourri style ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     "{\rtf1\ansi\ansicpg1252\uc1 \deff0\deflang1036\deflangfe1036{\fonttbl{\f0\froman\fcharset0\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f1\fswiss\fcharset0\fprq2{\*\panose 020b0604020202020204}Arial;}
    {\f2\fmodern\fcharset0\fprq1{\*\panose 02070309020205020404}Courier New;}{\f3\froman\fcharset2\fprq2{\*\panos" 
    etc.... sur plusieurs pages pour un .rtf
    ou bien ça pour un .doc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ÐÏ à¡± á                >   þÿ                     a           c       þÿÿÿ    `   ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿì
    Voici mon code pour télécharger les fichiers:

    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
     
    connectBase();
    $request=mysql_query("SELECT nom FROM fichiers WHERE id='".$_GET["id"]."'");
    $object=mysql_fetch_object($request);
     
    // infos du fichier
    $fichier = 'upload/fichier'.$_GET["id"];
    $nom_fichier =$object->nom;
     
    // téléchargement du fichier
    header("Content-type: application/force-download");    
    header("Content-Disposition: attachment; filename=".$nom_fichier);
    header("Content-Description: File Transfert"); 
    header("Content-Length: ".filesize($fichier));
    header("Pragma: no-cache");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Cache-Control: public");
    header("Expires: 0");
    readfile($fichier);
    Jusqu'ici, j'ai essayé de rajouter un "content-transfert-encoding: binary", j'ai essayé de bidouiller des trucs qui marchent pas mieux, j'ai bien vérifié que mes fichier sà télécharger étaient bons, bref, ça me gave!!!!!
    Merci bcp d'avance pour votre aide et bonne soirée!

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 45
    Points : 36
    Points
    36
    Par défaut
    Bon, il semblerait que ça marche en changeant complètement le code!

    Voici le nouveau code pour les intéressés:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    header('Content-disposition: attachment; filename='.$nom_fichier);
    header('Content-Type: application/force-download');
    header('Content-Transfer-Encoding: fichier'); 
    header('Content-Length: '.filesize($fichier));
    header('Pragma: no-cache');
    header('Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0');
    header('Expires:10');
    readfile($fichier);

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 49
    Points : 36
    Points
    36
    Par défaut
    Salut,
    je me permet de relancer la discution parce que je galere sur un probleme du même genre :
    Je force le téléchargement d'un fichier de type txt. Jusque la tout vas bien.
    Sur le navigateur du client, lorsque je clique sur le lien qui force le téléchargement, j'ai une fenetre windows qui me propose d'ouvrir de télécharger ou d'annuler. Si je le télécharge sur mon ordi et que je l'ouvre en double cliquant dessus, pas de probleme. Mais si je l'ouvre directement en cliquant sur le bouton "Ouvrir", le bloc-note s'ouvre et me met un message d'erreur :
    Impossible de trouver le fichier C:\Documents and settings\.....\Content.IE5\ESGRIGBD\doc[1].txt
    Voulez-vous créer un nouveau fichier?
    Et si je recherche le fichier dans le répertoire temporaire sité ci-dessus; il n'y est pas!
    J'ai l'impression que le navigateur ne stocke pas le fichier sur le disque!
    Quelqun à une solution?
    Merci.

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

Discussions similaires

  1. Pb nom du fichier lors d'un téléchargement forcé
    Par wolfe dans le forum Langage
    Réponses: 2
    Dernier message: 14/02/2007, 10h49
  2. Problème avec le téléchargement forcé d'un fichier
    Par sunshine33 dans le forum Langage
    Réponses: 14
    Dernier message: 08/11/2006, 10h24
  3. Exportez un doc.xls en Doc.doc
    Par valery17 dans le forum Access
    Réponses: 6
    Dernier message: 18/04/2006, 10h51
  4. téléchargement forcé, taille du fichier nulle
    Par manaboko dans le forum Langage
    Réponses: 8
    Dernier message: 30/11/2005, 11h45

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