Rechercher : dans
Par :

Upload d'images par formulaire php, en table

Dernière réponse le 1 fév 2008 à 20:05:34 Liteulbob, le 1 fév 2008 à 10:03:21 
 Signaler ce message aux modérateurs

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 :

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

Meilleures réponses pour « Upload d'images par formulaire php, en table » dans :
[PHP] Upload de fichiers VoirLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La...
PHP - Génération d'images VoirPrérequis PHP permet de créer des images au format GIF à l'aide d'une librairie de fonctions prévue à cet effet. La librairie permettant de créer et manipuler des fichiers graphiques se nomme GD, ainsi, pour pouvoir utiliser ces fonctions il faut...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...

1

bbar, le 1 fév 2008 à 17:10:00

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

Répondre à bbar

2

Liteulbob, le 1 fév 2008 à 19:50:30

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 lignes

while ($_FILES[$n]['rapport_photos']) 
ou
while ($_FILES['rapport_photos'][$n]) 
ou
while ($_FILES['rapport_photos[$n]']) 


ne donnent toujours rien :-(

Répondre à Liteulbob

3

 Liteulbob, le 1 fév 2008 à 20:05:34

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 par
while ($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 !

Répondre à Liteulbob
Collection CommentÇaMarche.net