Chaque formulaire supporte l'upload multiple et possède des comportements d'affichage spécifiques
commentés dans le code source. Notez bien que tous les éléments inclus dans le bloc conteneur des résultats, renseigné en troisième paramètre dans l'initialisation de la classe javascript, sont rafraichis à chaque sélection de fichiers.
Les boutons de sélection customisés acceptent les comportements onclick et drag and drop.
Pour supprimer la possibilité d'upload multiple, il suffit de supprimer la propriété multiple="multiple" de l'input de type file dans le html. Certains formulaires comportent une limitation concernant les extensions acceptées. Dans ce cas, il serait judicieux d'utiliser en complément l'attribut
accept dans le champ de type file, pour guider le visiteur dans le choix de ses fichiers.
Vous pouvez ajouter d'autres champs dans le formulaire, ils seront transmis automatiquement par la requête ajax et seront disponibles côté serveur dans la super globale $_POST. La notation tableau est supportée.
Plus d'informations ici.
Consultez le fichier d'upload "Php_Upload/UploadAjaxABCI_Upload.php" pour voir les méthodes utilisées côté serveur : récupération des paramètres de la requête Ajax, définition de la destination des fichiers, retours d'informations serveur dans le statut des fichiers et dans le bloc ayant la classe "UpAbci_infosServer", contrôles, renommage des fichiers, etc.
Pour les exemples ci-dessous, les fichiers sont renommés en cas de doublon sur le serveur. Voir le fichier d'exemple "UploadAjaxABCI_Custom_VerifFileExist.php" pour laisser au visiteur le choix d'écraser (ou non) un fichier existant.
Upload 6. Customisation de l'exemple 5 avec affichage plus complet. J'utilise une fonction événementielle qui est activée en fin de traitement du formulaire pour permettre de fermer la boite d'information en cliquant sur le bouton "Upload terminé" (qui s'affiche en fin de traitement). Consultez les fichiers
UploadAjaxABCI_Custom et
UploadAjaxABCI_Custom_VerifFileExist pour des exemples plus aboutis.