Je sais qu'il s'agit d'un vieux post mais quelques explications supplémentaires pourraient être utiles pour quelqu'un qui essaie de télécharger plusieurs fichiers... Voici ce que vous devez faire :
- Le nom de l'entrée doit être défini sous la forme d'un tableau, à savoir
name="inputName[]"
- L'élément d'entrée doit avoir
multiple="multiple"
ou simplement multiple
- Dans votre fichier PHP, utilisez la syntaxe
"$_FILES['inputName']['param'][index]"
- Assurez-vous de rechercher noms et chemins de fichiers vides le tableau peut contenir chaînes vides . Utilisez
array_filter()
avant de compter.
Voici un exemple concret (qui ne montre que le code pertinent).
HTML :
<input name="upload[]" type="file" multiple="multiple" />
PHP :
//$files = array_filter($_FILES['upload']['name']); //something like that to be used before processing files.
// Count # of uploaded files in array
$total = count($_FILES['upload']['name']);
// Loop through each file
for( $i=0 ; $i < $total ; $i++ ) {
//Get the temp file path
$tmpFilePath = $_FILES['upload']['tmp_name'][$i];
//Make sure we have a file path
if ($tmpFilePath != ""){
//Setup our new file path
$newFilePath = "./uploadFiles/" . $_FILES['upload']['name'][$i];
//Upload the file into the temp dir
if(move_uploaded_file($tmpFilePath, $newFilePath)) {
//Handle other code here
}
}
}
J'espère que cela vous aidera !
2 votes
Voir le téléchargement de plusieurs fichiers.
2 votes
Voici un bon exemple à suivre : EXEMPLE
0 votes
@sarfraz J'ai eu un week-end ... Je viens d'essayer l'exemple, c'est génial et très facile.
0 votes
@sarfraz J'ai essayé de générer le <td> <input name="ufile[]" type="file" id="ufile[]" size="50" /> </td> à partir d'un clic d'ajout j'ai obtenu les <td> sur le clic d'ajout mais le résultat n'est pas atteint Pouvez-vous voir ma nouvelle question postée.