Exemple customisé avec vérification avant upload

Cliquez ou déposez vos fichiers ici

sauvegardé : temps restant : x ❘❘
0Mo
Boite de téléchargement sur le même modèle que "UploadAjaxABCI_Custom.php". Cet exemple est adapté si l'on souhaite pouvoir être prévenu des doublons sur le serveur AVANT la soumission des fichiers et laisser le choix à l'utilisateur d'écraser ou non les fichiers déjà existants.

- On fait une requête ajax pour vérification dès la sélection des fichiers. Cela permet de ne pas attendre le chargement d'un fichier pour avoir l'information "ce fichier existe déjà".
- Un fichier ayant un doublon sur le serveur ne sera pas envoyé par la classe javascript (gain de temps et de bande passante), excepté si l'on coche la case à cocher qui autorise le remplacement.
- Un contrôle complémentaire est fait impérativement côté serveur avant la finalisation de l'upload.

Cet exemple montre comment exploiter les propriétés des objets passés en paramètre dans les fonctions événementielles, pour (par exemple) interdire l'envoi d'un fichier suite à un contrôle extérieur à la classe d'upload (ici la requête ajax de contrôle des fichiers déjà existants) ou compter le nombre de fichiers uploadés avec succès. Certaines de ces propriétés proposent un accès direct au DOM (bloc html d'information des fichiers) qu'il est ainsi possible de modifier sans recherche complémentaire pour une meilleure efficacité. Plus d'informations dans le code source de cette page.

Attention, ce fichier utilise deux requêtes Ajax distinctes:
- Une pour la vérification des fichiers avant upload, vers le script "Php_Upload/UploadAjaxABCI_VerifFileExist.php"
- La seconde pour l'upload des fichiers, vers le script "Php_Upload/UploadAjaxABCI_Upload_Custom_VerifFileExist.php".

Les dossiers de destination mentionnés doivent être identiques dans ces deux scripts.

Par mesure de sécurité, le script d'upload côté serveur peut fonctionner indépendamment du résultat de la première requête Ajax. Cependant si l'adresse du dossier de destination n'est pas identique dans ces deux scripts, vous perdrez à minima le contrôle des fichiers existants AVANT la soumission des fichiers et donc tout l'intérêt du code défini dans les fonctions évènementielles, puisque le message "Ce fichier existe déjà" ne pourra être affiché qu'APRES la soumission des fichiers, ce qui peut être handicapant côté client pour l'upload des gros fichiers et consomme inutilement des ressources serveur.

Important : cet exemple accepte toutes les fichiers. Le contrôle des extensions est indispensable si votre formulaire est destiné à un espace non protégé. Voir l'exemple UploadAjaxABCI_Basique_Controle pour plus d'informations sur la sécurité des fichiers et des scripts.

Index