8791 sujets

Développement web côté serveur, CMS

Bonjour à tous,

voici mon problème.

J'ai un formulaire dans lequel j'ai des champs données (nom, adresse…) et aussi la possibilité d'uploader une image.

1° - Je voudrais savoir comment prévisualiser l'image uploadée sans pour autant envoyer mon formulaire.
J'ai essayé en mettant un formulaire "image" dans mon formulaire "données" mais en cliquant sur le le bouton envoyé du formulaire "image", c'est tout le formulaire qui est traité (càd "données" y compris).
D'après mes recherches sur le net, cela n'a pas l'air d'être possible (parce que l'image n'est pas encore sur le serveur)
J'ai également pensé à lire ce qui était dans un dossier temporaire (tmp) mais sans succès.


2° - Je voudrais savoir s'il est possible de donner la possibilité à l'utilisateur d'uploader autant d'ilmages qu'il veut ?

Avez-vous des idées ou des pistes?

Merci de m'avoir lu et pour votre aide
Deux choses importantes à noter :
- il n'est pas possible de lire des données sur le poste client
- il n'est pas possible d'envoyer in fichier en AJAX

De ces deux points on peut déduire que ce que tu souhaite faire est impossible sans traiter le formulaire de façon à uploader l'image (au moins dans un dossier temporaire). A moins quelqu'un est une solution alternative en tout cas. Smiley cligne


Pour ta deuxième question en revanche c'est tout à fait possible. Il te suffit d'ajouter un input file pour chaque fichier supplémentaire (via JavaScript).
Ce qui donné quelque chose du genre :
l'utilisateur renseigne le champ upload -> création d'un nouveau champ via Javascript

Il te faudra par contre nommer des champs de cette façon :
<input type="file" name="image[]" />

De cette manière tu récupèrera les images dans un tableau PHP sur lequel tu pourras appliquer une boucle pour enregistrer chaque fichiers.
Modérateur
Bonjour,

Pour la seconde question, une solution consiste à utiliser une librairie Javascript/Flash pour permettre à l'utilisateur de sélectionner plusieurs fichiers à la fois et de les envoyer automatiquement l'un après l'autre. Il y a SWFUpload, mais tu peux en trouver d'autres en effectuant des recherches sur Google.