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

EDI, CMS, Outils, Scripts et API PHP Discussion :

[PHP4][Base64] décoder un fichier mp3


Sujet :

EDI, CMS, Outils, Scripts et API PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

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

    Informations forums :
    Inscription : Février 2005
    Messages : 2 852
    Par défaut [PHP4][Base64] décoder un fichier mp3
    Bonjour, j'ai un petit soucis en téléchargeant un son via un webservice, celui ci me retourne une chaine de caractère encodé en Base64, je n'arrive pas à obtenir mon fichier mp3.
    Pouvez vous m'apporter un peu d'explication la dessus, merci par avance

  2. #2
    Rédacteur
    Avatar de Yoshio
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    1 732
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 732
    Par défaut
    http://www.fourmilab.ch/webtools/base64/

    Suffit juste de decoder le fichier

  3. #3
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

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

    Informations forums :
    Inscription : Février 2005
    Messages : 2 852
    Par défaut
    j'ai rien compris a ton truc, par contre, j'ai fait un truc comme ça mais ça ne marche pas :
    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    dl_file(base64_decode($result));
     
    function dl_file($file){
     
       //First, see if the file exists
       if (!is_file($file)) { die("<b>404 File not found!</b>"); }
     
       //Gather relevent info about file
       $len = filesize($file);
       $filename = basename($file);
       $file_extension = strtolower(substr(strrchr($filename,"."),1));
     
       //This will set the Content-Type to the appropriate setting for the file
       switch( $file_extension ) {
             case "pdf": $ctype="application/pdf"; break;
         case "exe": $ctype="application/octet-stream"; break;
         case "zip": $ctype="application/zip"; break;
         case "doc": $ctype="application/msword"; break;
         case "xls": $ctype="application/vnd.ms-excel"; break;
         case "ppt": $ctype="application/vnd.ms-powerpoint"; break;
         case "gif": $ctype="image/gif"; break;
         case "png": $ctype="image/png"; break;
         case "jpeg":
         case "jpg": $ctype="image/jpg"; break;
         case "mp3": $ctype="audio/mpeg"; break;
         case "wav": $ctype="audio/x-wav"; break;
         case "mpeg":
         case "mpg":
         case "mpe": $ctype="video/mpeg"; break;
         case "mov": $ctype="video/quicktime"; break;
         case "avi": $ctype="video/x-msvideo"; break;
     
         //The following are for extensions that shouldn't be downloaded (sensitive stuff, like php files)
         case "php":
         case "htm":
         case "html":
         case "txt": die("<b>Cannot be used for ". $file_extension ." files!</b>"); break;
     
         default: $ctype="application/force-download";
       }
     
       //Begin writing headers
       header("Pragma: public");
       header("Expires: 0");
       header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
       header("Cache-Control: public"); 
       header("Content-Description: File Transfer");
     
       //Use the switch-generated Content-Type
       header("Content-Type: $ctype");
     
       //Force the download
       $header="Content-Disposition: attachment; filename=".$filename.";";
       header($header );
       header("Content-Transfer-Encoding: binary");
       header("Content-Length: ".$len);
       @readfile($file);
       exit;
    }

  4. #4
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par défaut
    Salut,

    Regarde la fonction base64_decode

  5. #5
    Rédacteur

    Avatar de arnolem
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 852
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

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

    Informations forums :
    Inscription : Février 2005
    Messages : 2 852
    Par défaut
    Merci mais c'est la premiere chose que j'ai faite et qui me renvoie une chaine de caractère, je souhaite forcer le telechargement d'un fichier mp3 à un utilisateur.

  6. #6
    Membre Expert Avatar de KiLVaiDeN
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par défaut
    Il faut alors mettre les headers HTTP qui vont bien.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Content-transfer-encoding: base64

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

Discussions similaires

  1. Recupere les tag d'entete d'un fichier mp3
    Par kirbs dans le forum C++Builder
    Réponses: 7
    Dernier message: 05/10/2006, 17h40
  2. Lire et décoder un fichier d'aide CHM
    Par bob2553 dans le forum Outils
    Réponses: 6
    Dernier message: 22/06/2005, 19h21
  3. Réponses: 3
    Dernier message: 17/05/2005, 14h26
  4. Encodage de cd en fichier mp3
    Par clovis dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 08/04/2004, 01h13
  5. Réponses: 3
    Dernier message: 25/07/2002, 10h42

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