Utilisation des classes prédéfinies pour afficher les informations spécifiques aux fichiers
Styles événementiels pour modifier l'affichage du formulaire en fonction du traitement en cours
Exemples simples de configuration des options javascript

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 1 : limité aux extensions avi, divx, mp4, mkv, mpg, jpg, jpeg, png, gif 
Upload 2 : limité aux extensions jpg, jpeg, png, gif pour le premier champ et limité aux extensions pdf pour le second champ 
Upload 3 : demande de confirmation en cas de reprise d'upload, status terminé ok symbolisé par un carré bleu 

Upload 4 : limitation des fichiers à 600 Mo et envoi automatique dès la sélection des fichiers 
Upload 5 : aperçu des images avec condition 20 Mo par photo, total max 100 Mo, information du nouveau nom si le fichier a été renommé (voir code serveur) 
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.

Notez que le contrôle du type MIME est intégré par défaut depuis la version 7.5 de ce module d'upload. C'est une mesure de sécurité qui permet de s'assurer que les fichiers correspondent à leur extension. Cependant la base magic utilisée côté php ne reconnait pas tous les fichiers ("mts", "m2ts" et potentiellement d'autres fichiers de type streaming, entre autres). Si vous tentez de télécharger ce type de fichiers vous aurez le message "Type de fichier non valide". Consultez le fichier "UploadAjaxABCI_Basique_Controle.php" et son fichier de traitement serveur "UploadAjaxABCI_Upload_Basique_Controle.php" pour pouvoir désactiver ce contrôle pour certains types de fichiers et permettre leur téléchargement.

Index