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 le téléchargement


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 44
    Points : 20
    Points
    20
    Par défaut Forcer le téléchargement
    Salut à tous !

    J'ai un probleme lorsque je tente de forcer le téléchargement de fichier.

    Voici mon script :

    1) le fichier telecharge.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
     
     
     
    header("Content-type: application/force-download");
    header("Content-Length: ".filesize($urlComplete));
    header("Content-Disposition: attachment; filename=$nomFichier");
    readfile("$urlComplete");
     
    ?>
    2) ma_page.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $nomFichier = "$file";
    // laisser vide si le fichier se trouve dans le même rep
    $urlComplete= "http://mon_url/dossier/".$nomFichier;
    $nomFichier = str_replace(" ","%20",$file); 
    ?>
    <a href="telecharge.php?urlComplete=<? echo $urlComplete; ?>&nomFichier=<? echo $nomFichier; ?>"><center><font color='#800080'>Télécharger</font></center></a>
    La boîte de dialogue s'ouvre bien, le téléchargement se fait bien mais tous les fichiers font environ 220Ko !!
    Il est donc inutiles de vous dire que les mp3 sont illisibles !

    D'où vient ce problème s'il vous plaît ?

    Merci d'avance

  2. #2
    Membre confirmé Avatar de GregPeck
    Inscrit en
    Novembre 2005
    Messages
    530
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 530
    Points : 540
    Points
    540
    Par défaut
    Moi je n'utilise pas force-download mais ça et ça fonctionne, a tester...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $MimeType = "application/octet-stream";
    if ($navigateur!="Mozilla") {	//IE et Opéra ne supporte pas le type mime standard
    	$MimeType = "application/octetstream";
    }				
     
    header("Content-Type: ".$MimeType."; name=\"".$_GET['filename']."\"");

  3. #3
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Salut, il y a un site sympa : Developpez.com qui contient une FAQ PHP, et là, tu trouves ça : http://php.developpez.com/faq/?page=..._forcedownload

    Bon développement ;-)

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 44
    Points : 20
    Points
    20
    Par défaut
    Merci de vos reponse !

    http://J&#39;ai essayé http://php.develo..._forcedownload ceci.

    Où dois je le mettre ?
    Dès que je l'insère, ma page devient blanche !!

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 44
    Points : 20
    Points
    20
    Par défaut
    J'ai enfin trouvé !

    Comme la plupart du temps, l'erreur est toute bête !

    Il suffisait de remplacer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $nomFichier = $file; 
    // laisser vide si le fichier se trouve dans le même rep 
    $urlComplete= "http://mon_url/dossier/".$nomFichier; 
    $nomFichier = str_replace(" ","%20",$file); 
    ?> 
    <a href="telecharge.php?urlComplete=<? echo $urlComplete; ?>&nomFichier=<? echo $nomFichier; ?>"><center><font color='#800080'>Télécharger</font></center></a>
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $nomFichier = $file; 
    // laisser vide si le fichier se trouve dans le même rep 
    $urlComplete= "http://mon_url/dossier/".$nomFichier; 
    $nomFichier = str_replace(" ","%20",$file); 
    ?> 
    <a href="telecharge.php?urlComplete=<? echo $urlComplete; ?>&nomFichier=<? echo $file; ?>"><center><font color='#800080'>Télécharger</font></center></a>
    Merci à tous de votre contribtution

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 13/06/2007, 15h27
  2. [PHP-JS] Forcer le téléchargement d'une image JPG
    Par Amnesiak dans le forum Langage
    Réponses: 5
    Dernier message: 09/11/2006, 23h50
  3. [Configuration] problème pour forcer le téléchargement d'un fichier
    Par All Bran dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 02/01/2006, 16h23
  4. Réponses: 1
    Dernier message: 08/09/2005, 11h01
  5. Réponses: 2
    Dernier message: 23/03/2005, 08h51

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