erreur upload multiple

a marqué ce sujet comme résolu.
Auteur du sujet

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

À la recherche de la connaissance.

+0 -0

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 :) .

Édité par Amaury

#JeSuisArius

+0 -0

ton exemple est incomplet, comment tu fais quand tu as 2 images?

EDIT : Je suis HS en lisant name="fileToUpload[]" j’ai cru que tu voulais mettre plusieurs inputs, dans le cas de l’utilisation de multiple, les [] sont-ils vraiment utile ?

Édité par A-312

+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

Édité par Ymox

Evitez qu’on vous dise de les lire : FAQ PHP et SymfonyTutoriel WAMP • Cliquez 👍 pour dire merci • Marquez vos sujets résolus

+1 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

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