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écharger un fichier word


Sujet :

Langage PHP

  1. #1
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Points : 730
    Points
    730
    Par défaut télécharger un fichier word
    Salut,

    J'ai essayé de lancer un document word pour que l'utilisateur puisse soit l'ouvrir soit le télécharger.

    J'ai ce fichier ci que j'appelle ainsi : monfichier.php?doc=0400000442808_1.doc

    Code : Sélectionner tout - Visualiser dans une fenętre ŕ part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <?php
     
    	require_once("../config.php");
     
    	$doc = $_GET['doc'];
     
            //j'ai essayé avec msword mais ca donne le même résultat
    	echo "
    		header('Content-type:application/octet-stream');
    		header('Content-Disposition:attachment;filename=".DOC_REP.$doc."');
    	";
    	readfile(DOC_REP.$doc);
     ?>
    Et dans mon navigateur ca m'affiche ceci:

    Code x : Sélectionner tout - Visualiser dans une fenętre ŕ part
    header('Content-type:application/octet-stream'); header('Content-Disposition:attachment;filename=../../../documents/0400000442808_1.doc'); ĐĎॹá;ţ˙  ţ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ý˙˙˙˙˙˙˙ţ˙˙˙ ţ˙˙˙ ţ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙Root Entry˙˙˙˙˙˙˙˙˙˙˙˙ţ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ţ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ţ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ţ˙˙˙ţ˙˙˙ţ˙˙˙ ţ˙˙˙ţ˙˙˙ !"#$%&'()*+,-./0123456789:;<=>?ţ˙˙˙Aţ˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙ţ˙ ˙˙˙˙ ŔFMicrosoft Word-Dokument MSWordDocWord.Document.8ô9˛q [6ń˙6Standard1$*$ CJmH˙sH˙BA@ň˙ĄBAbsatz-Standardschriftart ˙˙˙˙PGTimes New Roman5Symbol3&ArialBnhƒ'0€ţ˙ŕ…ŸňůOhŤ‘+'łŮ0|8 @ L X d péý0@@@@ěĽÂM ż0Caolan80 $ ˙˙˙˙˙˙lŞŞŞž4ň ţ +ś áX  Ů ý"°. °ĹA!°n"°n#n$n3P(20ţ˙ŐÍ՜.“—+,ůŽDŐÍ՜.“—+,ůŽ\éýéýRoot Entry˙˙˙˙˙˙˙˙ ŔF€CompObj˙˙˙˙jOle ˙˙˙˙˙˙˙˙1Table˙˙˙˙˙˙˙˙˙˙˙˙9SummaryInformation(˙˙˙˙ŹWordDocument˙˙˙˙˙˙˙˙˙˙˙˙$ DocumentSummaryInformation8˙˙˙˙˙˙˙˙˙˙˙˙@t˙˙˙˙˙˙˙˙˙˙˙˙ţ˙˙˙

    J'ai déjŕ réussi ŕ lancer un ficher word avec un code similaire, et sur le net c'est toujours le męme exemple mais ca fonctionne pas chez moi.

    Merci d'avance !!!

  2. #2
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonsoir,

    Il ne faut pas se contenter d'écrire la fonction mais il faut l'éxecuter.

    La fonction echo se contente d'afficher une chaine de caratčres dans le navigateur.

    Code : Sélectionner tout - Visualiser dans une fenętre ŕ part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    	require_once("../config.php");
     
    	$doc = $_GET['doc'];
     
            //j'ai essayé avec msword mais ca donne le même résultat
    	header('Content-type:application/octet-stream');
            header('Content-Disposition:attachment;filename="'.DOC_REP.$doc.'"');
    	readfile(DOC_REP.$doc);
     ?>

  3. #3
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Points : 730
    Points
    730
    Par défaut
    arghhh!!!

    Effectivement j'avais pas vu que c'était une fonction

    J'ai honte!!!

    Merci!

  4. #4
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Points : 730
    Points
    730
    Par défaut
    En faite non!

    Maintenant j'ai un autre problčme, le fichier se télécharge bien sous firefox. Mais sous ie 6 (j'y peux rien c'est pas moi qui l'ai choisi, faut que ca marche sous ie 6) j'ai le message suivant :

    Internet ne peux télécharger ....d.php?doc=0245045415.doc de 192.168.0.55.

    Internet Explorer n'a pas pu ouvrir ce site Internet. Le site requis n'est pas diponible ou n'a pas pu ętre trouvé. Réessayez ultérieurement.
    J'ai l'invité pour pouvoir enregistrer le fichier et aprčs validation j'ai le message d'erreur d'au-dessus.

    Merci d'avance!

  5. #5
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,

    IE ne gčre pas les caractčres spéciaux dans les noms de fichier. N'y a-t-il pas un accent dans le nom de fichier ou quelque-chose du genre ?

  6. #6
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Points : 730
    Points
    730
    Par défaut
    Merci pour ton aide,

    Le nom de mon fichier peut ressembler ŕ ça :
    _.._.._documents_0400000429298_1.doc

    Mon code c'est :

    Code : Sélectionner tout - Visualiser dans une fenętre ŕ part
    1
    2
    3
    4
    5
    6
     
     
    header('Content-type:application/msword');
    header('Content-Disposition:attachment;filename="'.DOC_REP.$doc.'"');
     
    readfile(DOC_REP.$doc); // Envoie le fichier

    avec DOC_REP = ../../../documents/
    Lŕ ou il devra aller chercher le document.

    et $doc = 0400000429298_1.doc

    y'a forcément un _ dans le nom de mon document.

    A quel moment je peux changer et comment pour que ca passe?

    Ce qu'il faudrait ca serait de faire une sorte de enregistrer sous?

    Merci!

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    138
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Juin 2005
    Messages : 138
    Points : 173
    Points
    173
    Par défaut
    Chemin relatif, chemin absolu !!!
    Je crois pas que readFile aime "../../../"

  8. #8
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Ce n'est pas grave si ton nom de fichier comprends le caractčre "_".

    Concernant ton problčme tu pourrais essayer de mettre un chemin définit depuis la racine du site (/documents/0400000429298/1/). Sinon je vois pas trop.
    Sinon testes de mettre un exit(); aprčs ton readfile.

  9. #9
    Membre éclairé Avatar de grabriel
    Inscrit en
    Septembre 2006
    Messages
    946
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 946
    Points : 730
    Points
    730
    Par défaut
    Merci pour votre aide,

    J'ai modifié pour avoir un chemin ŕ partir de la racine du serveur mais j'ai toujours le męme message d'erreur.

    Si quelqu'un ŕ une solution.

Discussions similaires

  1. Télécharger fichier Word ŕ partir d'un lien avec IE8
    Par Totoye dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 16/09/2010, 09h41
  2. Ecriture sur un fichier Word: Pb Ouverture
    Par drinkmilk dans le forum ASP
    Réponses: 2
    Dernier message: 11/06/2004, 09h48
  3. [Struts][Oracle]Upload fichier word dans une base
    Par Maximil ian dans le forum Struts 1
    Réponses: 7
    Dernier message: 10/02/2004, 15h52
  4. Comparaison de fichiers Word
    Par Zelphalya dans le forum Langage
    Réponses: 5
    Dernier message: 20/10/2003, 15h15
  5. [] Convertir un fichier word en pdf
    Par SpaceFrog dans le forum VBA Word
    Réponses: 7
    Dernier message: 06/12/2002, 15h27

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