erreur upload multiple

a marqué ce sujet comme résolu.

Bonsoir chers amis il y a une erreur que je ne comprends pas bien j’essaye de faire un upload de plusieurs images sur mon site pour cela je procede comme ceci:

  • html
<form enctype="multipart/form-data">
<input type="file" 
       multiple="true"
       name="fileToUpload[]" 
       accept=".jpg, .jpeg, .png" >
</form>
  • php
print_r($_FILES['fileToUpload']);

Lorsque j’upload plus de deux images je reçois l’erreur Undefined index: fileToUpload or fileToUpload existe

Pouvez-vous m’aider? merci

D’après la norme HTML5, le champ de formulaire doit être écrit ainsi :

<input type="file" multiple="multiple" name="fileToUpload[]" accept=".jpg, .jpeg, .png" />

(noter le multiple="multiple").

Est-ce que ça corrige ton soucis ? Sinon, essaie de regarder un print_r($_FILES) tout court :) .

+0 -0

Salut !

En method="POST", le formulaire, peut être aussi ?

vibrice

Yep, y faire attention, sinon $_FILES sera vide, et $_GET['fileToUpload'] contiendra uniquement le nom du (ou des) fichier(s) choisi(s).

[…] dans le cas de l’utilisation de multiple, les [] sont-ils vraiment utile ?

A-312

C’est pas nécessaire, mais ça influe sur le format des données dans $_FILES, une histoire d’index numérique qui est soit à la racine ($_FILES[$index]['error']), soit dans chaque élément ($_FILES['error'][$index]), si je me souviens bien.

Attention : mettre accept, c’est bien, mais c’est pas la panacée, il faudra toujours une vérification serveur. On peut avoir un fichier exécutable avec une extension qui le fait passer pour une image (et pire, il peut afficher un aperçu et même une vraie image mais faire aussi autre chose qui ne se remarque pas). Il est possible d’utiliser les type de média internet, mais j’ai toujours en tête Windows qui utilise image/pjpeg pour certaines images alors que le type "officiel" est image/jpeg

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte