Manuel PHP
Précédent | Chapitre 34. Gestion des chargements de fichier | Suivant

# Télécharger plusieurs fichiers simultanément

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échargement multiples a été ajouté en PHP 3.0.10.

Exemple 34-3. 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érieure à 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 elle 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.

Précédent | Sommaire | Suivant
Erreurs classiques | Niveau supérieur | Chargement par méthode PUT