Forum Clubic

[PHP] Upload de plusieurs fichiers simultanément - How to ?

Bonsoir. Je dois créer un formulaire en PHP qui permette l’upload d’un nombre indéterminé de fichiers. Je sais créer un champ upload et transmettre un fichier sur le serveur, et insérer son nom dans une base MySQL. Mais comment transposer cette méthode à “n” fichiers ?
Des pistes ?
Merci d’avance.

PS : j’ai pensé implémenter un champ upload avec un petit “+” cliquable qui rajouterait un nouveau champ upload etc. Mais je ne vois pas techniquement comment procéder…!

Pour tes problèmes :

utilise un nom du genre machin[] (notation tableau pour les formulaires) dans l’attribut name du formulaire d’envoie (input type=“file”)

pour l’ajout via un “+”, ça se fait relativement facilement avec DOM

dans le genre :

var p = document.createElement('div');
var i = document.createElement('input');
var a1 = i.createAttribute('type');
a1.appendChild(document.createTextNode('file'));
var a2 = i.createAttribute('name');
a2.appendChild(document.createTextNode('machin[]'));
i.appendAttribute(a1);
i.appendAttribute(a2);
p.appendChild(i);
document.getElementByid('truc').appendChild(p);

http://www.google.ch/search?q=multi+upload+php

concernant le "+" je ferrais un truc du genre

<form…>
<div id=“up”>
<input type=“button” onClick="document.GetElementById(‘up’).innerHTML = document.GetElementById(‘up’).innerHTML + ‘<input type=\“upload\”…>’ ">;
<input type=“upload”…>
</div>
</form>

var p = document.createElement('div');
var i = document.createElement('input');
var a1 = i.createAttribute('type');
a1.appendChild(document.createTextNode('file'));
var a2 = i.createAttribute('name');
a2.appendChild(document.createTextNode('machin[]'));
i.appendAttribute(a1);
i.appendAttribute(a2);
p.appendChild(i);
document.getElementByid('truc').appendChild(p);

Merci, je vais essayer demain, donc ce code est à mettre entre balises javascript à l’endroit où je veux faire apparaître le champ upload dans ma page ?

Plutôt dans une fonction, à appeler quand tu as un click (onclick) sur le bouton [+].

Note bien que tes formulaires d’envoi doivent être dans un élément ayant l’identifiant (attribute id) “truc” (<machin id=“truc” /> )