[Résolu]foreach et file_put_contents:1 seule donnée récuprée
Posté : 21 déc. 2011, 13:01
Bonjour
Dans un formulaire multi upload images et textes, je rencontre un (bête?) problème dans la lecture/récupération des données d'un array.
J'obtiens bien le tableau, je crée comme je l'attendais les fichiers .txt propres à chaque image avec le bon nom (même si j'ai l'alerte:Warning: file_put_contents() expects at least 2 parameters, 1 given in.....etc.), mais lors d'un upload multiple, seul le dernier texte est enregistré...dans tous les fichiers .txt créés....
Un print_r du tableau me donne:
La dernière boucle foreach est la partie concernée dans mon code:
, mais là je ne vois plus..
Auriez vous une idée, une piste, un conseil.
D'avance merci pour votre aide.
Dans un formulaire multi upload images et textes, je rencontre un (bête?) problème dans la lecture/récupération des données d'un array.
J'obtiens bien le tableau, je crée comme je l'attendais les fichiers .txt propres à chaque image avec le bon nom (même si j'ai l'alerte:Warning: file_put_contents() expects at least 2 parameters, 1 given in.....etc.), mais lors d'un upload multiple, seul le dernier texte est enregistré...dans tous les fichiers .txt créés....
Un print_r du tableau me donne:
[txt_img] => Array
(
[1] => 1
[2] => 2
)
et :
echo '<pre>'; echo $texte_image; echo '</pre>';
m'affiche bien les lignes de textes différentes.La dernière boucle foreach est la partie concernée dans mon code:
if(!empty($_FILES['fichier']))
{
// Script chargement images
//$_FILES existe
$compteur=0;
set_time_limit(300);//modification de la limitation de temps d'exécution du script en seconde
$dos_destinataire = mkdir("../albums/$nom_dossier");//définition de l'adresse du dossier destinataire et création(mkdir) du dossier
$miniatures = mkdir("../albums/$nom_dossier/pictos");
foreach ($_FILES['fichier']['name'] as $key => $value)
{
$fichier=$value;//nom reel de l'image
$size=$_FILES['fichier']['size'][$key]; //poids de l'image en octets
$tmp=$_FILES['fichier']['tmp_name'][$key];//nom temporaire de l'image (sur le serveur)
$type=$_FILES['fichier']['type'][$key];//type de l'image
$txt = "../albums/$nom_dossier/$fichier.txt ";//nom et chemin fichier txt au nom de l'image
$execution = file_put_contents($txt);//création fichier txt au nom de l'image
foreach ($txt_img as $cle => $texte_image){
file_put_contents($txt, 'texte img'.$cle.': '.$texte_image);
}
Je me doute bien que (une fois encore) le problème est entre la chaise et le clavier Auriez vous une idée, une piste, un conseil.
D'avance merci pour votre aide.