Upload d'images par formulaire php, en table
Résolu
Liteulbob
Messages postés
37
Statut
Membre
-
Liteulbob Messages postés 37 Statut Membre -
Liteulbob Messages postés 37 Statut Membre -
Bonjour à tous,
Petit problème tout bête d'utilisation des tables pour enregistrer en même temps une vingtaine d'images par formulaire php.
Ca marche parfaitement pour une image avec :
Puis
Et je voudrais simplement automatiser l'enregistrement pour ma vingtaine de photos :
Puis
Mais l'ajout ne se fait pas. La phrase "table des photos existe" apparait car la table des images est bien recue, mais après, comment parcourir ce tableau ?
En faisant $_FILES[$n]['rapport_photos'] ? Ou $_FILES['rapport_photos'][$n] ? Ou meme $_FILES['rapport_photos[$n] '] ?
J'ai essayé ces trois possibilités mais ça ne marche pas :-(.
Si vous pouvez me dépanner, merci d'avance ;-)
Petit problème tout bête d'utilisation des tables pour enregistrer en même temps une vingtaine d'images par formulaire php.
Ca marche parfaitement pour une image avec :
echo '<input id="file" type="file" name="rapport_photos"><br />';
Puis
$rapport_photos = $_FILES['rapport_photos'];
if(isset($_FILES['rapport_photos']))
{
$dossier = '../photos/photos_live/';
if ( move_uploaded_file($_FILES['rapport_photos']['tmp_name'], $dossier . "concert".$ref."photo1") ) echo 'Upload effectué avec succès !';
else echo 'Echec de l\'upload !';
}
Et je voudrais simplement automatiser l'enregistrement pour ma vingtaine de photos :
for ($i=1; $i<20; $i++) {
echo '<input id="file" type="file" name="rapport_photos[]"><br />';
}
Puis
if(isset($_FILES['rapport_photos']))
{
echo 'Table des photos existe ';
$dossier = "../photos/photos_live";
$n = 0;
while ($_FILES[$n]['rapport_photos'])
{
echo 'Numéro de la photo : '.$n.' ';
if ( move_uploaded_file($_FILES[$n]['rapport_photos']['tmp_name'], $dossier . "concert".$ref."photo".$n) ) echo 'Upload effectué avec succès !';
else echo 'Echec de l\'upload !';
$n++;
}
}
Mais l'ajout ne se fait pas. La phrase "table des photos existe" apparait car la table des images est bien recue, mais après, comment parcourir ce tableau ?
En faisant $_FILES[$n]['rapport_photos'] ? Ou $_FILES['rapport_photos'][$n] ? Ou meme $_FILES['rapport_photos[$n] '] ?
J'ai essayé ces trois possibilités mais ça ne marche pas :-(.
Si vous pouvez me dépanner, merci d'avance ;-)
Configuration: Windows XP Firefox 2.0.0.11
3 réponses
-
Bon problème résolu tout seul :
il fallait écrire :while ($rapport_photos['name'][$n])
Il fallait la valeur ['name'] ... je sais pas trop pourquoi mais ça marche (en fait c'ests logique, quand je prenais pas les images en tableau, je les appellais simplement parwhile ($rapport_photos['name'])
mais j'y ai pas pensé ... trop fatigué ce soir :-(
Bon merci quand meme ;-) au moins j'aurais évité une betise sur les id ! -
salut,
t'as quelque chose qui va pas dans le bloc ci dessous : tu ne peux pas avoir plus d'un élément d'une classe définie par id="..." dans une même page.for ($i=1; $i<20; $i++) { echo '<input id="file" type="file" name="rapport_photos[]"><br />'; }
la solution consiste à utiliser plutôt class="...". Il faut également que tu modifies la déclaration de ta classe en .file au lieu de #file
vois déjà ce que ça donne -
Arf ! Oui j'avais même pas fait gaffe, j'ai refait un bête copié coller d'une ligne au dessus.
Enfin, hélas non, ça ne change pas, toujours le même non résultat : les ligneswhile ($_FILES[$n]['rapport_photos'])
ouwhile ($_FILES['rapport_photos'][$n])
ouwhile ($_FILES['rapport_photos[$n]'])
ne donnent toujours rien :-(