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


Sujet :

Langage PHP

  1. #1
    Membre éclairé
    Inscrit en
    Octobre 2006
    Messages
    446
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 446
    Par défaut forcer téléchargement mp3
    Bonjour ,
    j'ai un petit problème pour forcer le téléchargement d'un fichier mp3 en effet ce code fonctionne normalement en local mais quand je le mets sur le serveur il m'affiche des symboles illisibles ; quelqu'un peut m'aider
    merci
    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
    <?php $nom=@$_REQUEST['fichier'] ; 
     if (file_exists($nom)) {
        print "Le fichier $nom existe";
    	header('Content-Type: application/force-download; name="'.$nom.'"');
    	header("Content-Transfer-Encoding: audio/mpeg"\n"); // Surtout ne pas enlever le \n 
    
    	header('Content-Length: '. filesize($nom));
        header('Content-disposition: attachment; filename='. $nom);
        header('Expires: 0');
    	header('Cache-Control: no-cache, must-revalidate');
    	header('Pragma: no-cache');
        readfile($nom);
        exit();
    } else {
        print "Le fichier $nom n'existe pas";
    }
    ?>

  2. #2
    Membre éprouvé Avatar de moogli
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 58
    Par défaut
    salut,

    comme tu peut le voir avec la colorisation de la syntaxe tu a un " de trop dans la déclaration du seconde header ça ne doit pas aider à la chose (dont une parse error sur le message d'erreur du else ).

    est ce un problème de recopie sur le forum ?
    =>
    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
    <?php $nom=@$_REQUEST['fichier'] ; 
     if (file_exists($nom)) {
        print "Le fichier $nom existe";
    	header('Content-Type: application/force-download; name="'.$nom.'"');
    	header("Content-Transfer-Encoding: audio/mpeg \n"); // Surtout ne pas enlever le \n 
     
    	header('Content-Length: '. filesize($nom));
        header('Content-disposition: attachment; filename='. $nom);
        header('Expires: 0');
    	header('Cache-Control: no-cache, must-revalidate');
    	header('Pragma: no-cache');
        readfile($nom);
        exit();
    } else {
        print "Le fichier $nom n'existe pas";
    }
    ?>
    de plus l'utilisation de l'opérateur @ est, a mon avis, à prescrire et vérifier correctement si 'fichier' est présent en get ou post serait une meilleur idée.
    Pour cela voir empty et / ou isset.

    @+

Discussions similaires

  1. Forcer téléchargement MP3 sans langage dynamique
    Par Romalafrite dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 17/08/2012, 04h25
  2. [SQL] Forcer téléchargement (header)
    Par dib258 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 28/03/2006, 18h49
  3. Problème forcer téléchargement fichier
    Par cams dans le forum Langage
    Réponses: 34
    Dernier message: 15/12/2005, 17h42
  4. [ASP 3] Forcer téléchargement
    Par nborde dans le forum ASP
    Réponses: 5
    Dernier message: 10/12/2004, 17h05

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