Hello,
Bien sur c'est possible en PHP.
1 Récupérer le contenu d'un répertoire dans un tableau :
// On ouvre un pointeur vers le répertoire
$répertoire = "chemin_du_repertoire/";
$directory = opendir($répertoire);
// On met le chemin des fichiers dans un tableau
while ($fichier = readdir($directory)) {
if ($fichier != ".." && $fichier !=".") {
$liste_fichiers[] = $directory.$fichier;
}
}
closedir($directory);
2 Ensuite il suffit de construire dynamiquement un formulaire contenant autant d'éléments "input type="file"" et de pré-remplir les champs avec les éléments du tableau $liste_fichiers[], sur le modèle suivant :
<form action="mon_script_de_traitement.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="xxxoctets" />
<? php
for ($index = 0 ; sizeof($liste_fichiers) ; $index++) {
echo ("<input type=\"file\" name=\"fichier_source[]\" value=$liste_fichiers[$index] size=\"la_taille_qui_va_bien\" /><br />");
}
?>
// Puis viennent les boutons : envoi, annulation...
</form>
Le tableau "fichier_source[]" est récupéré dans le tableau $FILES du script de traitement ; il contient la liste des chemins des fichiers à tranférer. On traite tout cela dans une boucle.
Voilà pour le principe. On peut agrémenter en filtrant les extensions, les types MIME, les tailles de fichiers...
Attention de bien sécuriser les "upload"... c'est sensible.
Cheers,
Jmm.
Modifié par Helios (13 Jun 2007 - 18:15)