Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 15/04/2011, 17h05   #1
Membre éclairé
 
Avatar de FredPsy
 
Homme Frédéric BERTHORELLY
Formateur en informatique
Inscription : décembre 2006
Messages : 270
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BERTHORELLY
Âge : 35
Localisation : Djibouti

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : décembre 2006
Messages : 270
Points : 318
Points : 318
Par défaut base64_decode dans une boucle for

Bonjour à tous.

Je rencontre un petit problème sur la fonction base64_decode intégrée dans une boucle for.

J'ai deux fichiers txt, comportant les chaines à traiter. Après traitement, il s'agit de fichier son au format wav.

Si je lance le script avec un seul fichier txt, aucun problème, je récupère mon fichier son. Par contre, si je fais une boucle pour traiter les deux fichiers, je n'en récupère qu'un seul qui fait le poids des deux réunis.

Comme ci, base64_decode compilait les deux chaines pour n'extraire qu'un seul fichier. Hors, lorsque je lance le fichier son, il n'y a qu'un seul morceau joué et pas les deux mis bout à bout.

Je mets le code bien qu'il soit des plus simples et fonctionnel si chaque fichier est traité à part :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<?php
 
header('Content-Type: audio/x-wav');
$tableau = array("chaine0.txt", "chaine1.txt");
 
    for($x = 0; $x < 2; $x++){
 
        header('Content-disposition: attachment; filename='.$tableau[$x].'.wav');
 
        echo base64_decode(file_get_contents($tableau[$x]));
    }
 
?>
Merci
__________________
"Dites moi ce dont vous avez besoin, je vous apprendrai à vous en passer".
Et de grâce, je ne possède pas le plugin boule de cristal de firefox, alors soyez clair dans vos questions.

Je lutte contre le language SMS.
FredPsy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/04/2011, 18h04   #2
Invité de passage
 
Inscription : avril 2011
Messages : 3
Détails du profil
Informations forums :
Inscription : avril 2011
Messages : 3
Points : 1
Points : 1
Quel est ton but ?

Si tu echo deux fois, la fin de ton script aura bien output les bytes des deux fichiers décodés, à la suite donc ....

Si c'est du wav, le lecteur peut lire qu'un seul fichier, car le wave contient des en-têtes qui peuvent être lu qu'une seule fois en début de fichier.

Le lecteur ne comprends pas quand il rencontre le deuxième en-tête.
nunja est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/04/2011, 08h02   #3
Membre éclairé
 
Avatar de FredPsy
 
Homme Frédéric BERTHORELLY
Formateur en informatique
Inscription : décembre 2006
Messages : 270
Détails du profil
Informations personnelles :
Nom : Homme Frédéric BERTHORELLY
Âge : 35
Localisation : Djibouti

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : décembre 2006
Messages : 270
Points : 318
Points : 318
Bonjour,

J'explique un peu plus. Je dispose d'un fichier pouvant contenir de un à n fichiers wav encodés en base64. Mon but est de récupérer les n chaines encodées et d'enregistrer sur le disque dur les fichiers sons en question.

Par exemple :
Mon fichier de départ comporte deux fichiers sons encodés.
A l'arrivée, je dois avoir deux fichiers wav différents, enregistrés sur mon disque dur et non pas un seul comme c'est le cas avec mon script.
__________________
"Dites moi ce dont vous avez besoin, je vous apprendrai à vous en passer".
Et de grâce, je ne possède pas le plugin boule de cristal de firefox, alors soyez clair dans vos questions.

Je lutte contre le language SMS.
FredPsy est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h19.


 
 
 
 
Partenaires

Hébergement Web