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élechargement de fichier


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 151
    Par défaut Télechargement de fichier
    Bonjour,

    Le téléchargement de fichiers .doc ne marche pas. J'arrive bien à l'enregistrer mais au moment de l'ouvrir il me demande l'encodage... J'ai essayé plusieurs encodage (utf8, iso... ), rien à faire.

    Voici mon code
    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
     
    if ( $don['type'] == "pdf") $type = "application/pdf";
    else if ( $don['type'] == "doc") $type = "application/msword";
    else if ( $don['type'] == "xls") $type = "application/vnd.ms-excel";
    else $type = "application/octet-stream";
     
    $dossier = "../../".$don['dossier']."/";
    $file = $dossier.$don['nom_fichier'];
    $size = filesize($file);
    $name = $don['nom_fichier'];
     
    header("Content-disposition: attachment; filename=$name"); 
    header("Content-Type: application/force-download"); 
    header("Content-Transfer-Encoding: $type\n"); // Surtout ne pas enlever le \n
    header("Content-Length: ".$size); 
    header("Pragma: no-cache"); 
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public"); 
    header("Expires: 0"); 
    readfile($file);
    Merci de votre aide

    PS : Le téléchargement de pdf marche très bien?

  2. #2
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Par défaut
    as-tu essayé le binary ?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 151
    Par défaut
    Rajouter ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    header("Content-Transfer-Encoding: binary");
    Oui j'ai testé mais idem ça m'ouvre toujours l'option de filtre ASCII dans open office

  4. #4
    Membre chevronné
    Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    504
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 504
    Par défaut
    J'avoue ne pas voir là...

    Dans le doute, je te suggérerai bien d'essayer de mettre un header directement sur la page, genre

    header('Content-Type: binary');

    Même si j'y crois pas trop...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 151
    Par défaut
    Non j'ai toujours le même problème

  6. #6
    Membre émérite
    Avatar de Antoine_935
    Profil pro
    Développeur web/mobile
    Inscrit en
    Juillet 2006
    Messages
    883
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur web/mobile

    Informations forums :
    Inscription : Juillet 2006
    Messages : 883
    Par défaut
    Salut

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Content-Transfer-Encoding: $type\n"); // Surtout ne pas enlever le \n
    Pourquoi ce fameux \n ? C'est bizarre, en général une ligne vide signale la fin des headers. J'avoue que ça m'intrigue...

    Autre question: si tu compares le doc sur le serveur au doc téléchargé, c'est exactement le même fichier ? Fais un md5 pour vérifier... j'ai déjà eu de sacrée surprises.

Discussions similaires

  1. télecharger des fichiers à partir de ma page jsp
    Par amine_smi dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 09/09/2009, 14h24
  2. impossible de télecharger un fichier via dl.free.fr
    Par kalliste2b dans le forum Internet
    Réponses: 2
    Dernier message: 15/08/2008, 10h56
  3. Télecharger un fichier video à partir d'une animation flash
    Par filemon dans le forum Intégration
    Réponses: 1
    Dernier message: 28/09/2007, 08h33
  4. Télechargé um fichier du net
    Par olifile dans le forum Windows Forms
    Réponses: 1
    Dernier message: 31/03/2007, 10h31
  5. Télecharger un fichier d'un serveur vers mon PC
    Par diamonds dans le forum Général Conception Web
    Réponses: 11
    Dernier message: 08/02/2007, 16h06

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