Le téléchargement de plusieurs fichiers est possible
en utilisant des noms différents dans l'attribut
name de la balise input.
Il est aussi possible de télécharger plusieurs fichiers simultanément
et d'obtenir les informations sous forme de tableau. Pour cela, vous
devez utiliser la syntaxe de tableau dans les noms de balises
HTML, comme vous l'avez fait avec les sélections multiples
et les boîtes à cocher.
Note :
Le support des téléchargements multiples a été ajouté
en PHP 3.0.10.
Exemple 38-4. Télécharger plusieurs fichiers simultanément <form action="file-upload.php" method="post" enctype="multipart/form-data">
Envoyez plusieurs fichiers : <br />
<input name="userfile[]" type="file" /><br />
<input name="userfile[]" type="file" /><br />
<input type="submit" value="Envoyer les fichiers" />
</form> |
|
Lorsque le formulaire ci-dessus a été envoyé, les
tableaux $_FILES['userfile'],
$_FILES['userfile']['name'], et
$_FILES['userfile']['size'] seront initialisés
(tout comme $HTTP_POST_FILES pour les versions
de PHP antérieures à la 4.1.0). Lorsque
register_globals est activé, les variables
globales concernant les fichiers téléchargés sont aussi
initialisées. Chacune d'entre elles contiendra un tableau
numériquement indexé, avec les valeurs décrivant les fichiers
téléchargés.
Par exemple, supposons que les fichiers
/home/test/review.html et
/home/test/xwp.out ont été téléchargés. Dans ce cas,
$_FILES['userfile']['name'][0]
contient review.html et
$_FILES['userfile']['name'][1] contient
xwp.out. Similairement,
$_FILES['userfile']['size'][0] va contenir
la taille du fichier review.html, etc.
$_FILES['userfile']['name'][0],
$_FILES['userfile']['tmp_name'][0],
$_FILES['userfile']['size'][0] et
$_FILES['userfile']['type'][0] sont aussi
créées.