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 binaire


Sujet :

Langage PHP

  1. #1
    Membre éprouvé Avatar de Jérémy Lefevre
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2004
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 898
    Points : 969
    Points
    969
    Par défaut téléchargement fichier binaire
    bonjour j'ai un problème à télécharger des fichier binaires avec ce script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        header("Content-Type: application/octet-stream");
        header("Content-Disposition: attachment; filename=mon.exe");
        header("Content-Transfer-Encoding: binary"); 
        header("Content-Length: ".filesize("mon.exe"));
    cela me télecharge un fichier vide!! si quelqu'un peux m'eclairer!!
    merci jérémy

  2. #2
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    ca viendrait pas de mon.exe?

    je veux dire c'est un fichier qui est dans le meme répertoire que ton site?

    ca provient p-e du filename=mon.exe
    essaie de le mettre entre guillement le nom de ton fichier

    aussi je sais pas si c'est ca mais il me semble que j'avais un probleme semblable et j'ai ajouter le readfile à la fin...ca te prend le path absolu par contre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    //Récupération des variables
    $fichier = $_GET['file'];
    $path = $_GET['dossierPath'];
     
    $downloadurl = $path . $fichier;
    $size = filesize($downloadurl);
     
    readfile($downloadurl);  //Permet l'affichage du contenu du fichier
    exit;  //Retour à la page

  3. #3
    Membre éprouvé Avatar de Jérémy Lefevre
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2004
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 898
    Points : 969
    Points
    969
    Par défaut
    Alors mon fichier download.php ce trouve dans le même repertoire que le fichier à télécharger j'ai essayer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    header("Content-Type: application/force-download");
    mais j'ai toujour la meme chose le fichier télécharger est vide!

  4. #4
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    salut
    fichier vide...hmm
    t'as inscrit le readfile(ton_path) à la fin?
    je te laisse mon script complet, il fonctionne très bien pour moi autant testé localement que sur mon serveur


    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
     
    //Récupération des variables
    $fichier = $_GET['file'];
    $path = $_GET['dossierPath'];
     
    $downloadurl = $path . $fichier;
    $size = filesize($downloadurl);
     
    //Forcer le téléchargement avec les headers
    header("Pragma: public");
    header("Expires: 0");
    //empeche la mise en cache
    if(isset($_GET['type']) && $_GET['type'] == 'transfere'){
    	header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
    }
    header("Cache-Control: private",false);
    header("Content-Type: application/force-download");
    header("Content-Disposition: attachment; filename=\"".$fichier."\";");
    header("Content-Transfer-Encoding: binary");
    header("Content-Length: ".$size);
     
    readfile($downloadurl);  //Permet l'affichage du contenu du fichier
    exit;  //Retour à la page
    voilà

  5. #5
    Membre éprouvé Avatar de Jérémy Lefevre
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2004
    Messages
    898
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 898
    Points : 969
    Points
    969
    Par défaut
    ok ca marche bien maintenant mais il faut obligatoirement mettre le readfile à la fin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function download($MONURL, $NOM_DU_FICHIER)
    {
        header("Pragma: public");
        header("Expires: 0");
        header("Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0");
        header("Cache-Control: private",false);
        header("Content-Type: application/force-download");
        header("Content-Disposition: attachment; filename=$NOM_DU_FICHIER");
        header("Content-Transfer-Encoding: binary"); 
        header("Content-Length: ".filesize("$NOM_DU_FICHIER"));
        readfile("$MONURL.$NOM_DU_FICHIER");
    }
    merci encore Jérémy

  6. #6
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    salut je crois que oui
    enfin à partir de là je testerais en mettant en commentaire une ligne à la fois...
    mais si tu ne fais pas le readfile tu ne peux pas l'ouvrir

Discussions similaires

  1. probleme téléchargement d'un fichier binaire
    Par airun dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 16/04/2013, 17h07
  2. [LG]ecriture dans un fichier binaire
    Par jsaviola dans le forum Langage
    Réponses: 3
    Dernier message: 26/12/2003, 17h30
  3. [Debutant] Comment lire la taille d'un fichier binaire ?
    Par Invité dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 18/12/2003, 19h20
  4. communication fichier binaire fichier txt
    Par micdie dans le forum C
    Réponses: 3
    Dernier message: 05/12/2002, 00h19
  5. fichier binaire ou texte
    Par soussou dans le forum C++Builder
    Réponses: 4
    Dernier message: 14/06/2002, 13h39

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