Chargement personnalisé de fichiers depuis BreezingForms

Est-il possible depuis un formulaire BreezingForms de dynamiser le nom du dossier de réception et le nom du fichier transmis par un utilisateur ?

Niveau: Facile
Version BF minimale requise: BreezingForms Lite

Situation

Depuis un formulaire BreezingForms, vous souhaitez proposer à vos utilisateurs la possibilité de charger un ou des fichiers de quelque type que ce soit. Vous souhaitez aussi avoir la possibilité de dynamiser le nom de dossier de réception et éventuellement le nom du fichier pour le faire correspondre à un format personnalisé et adapté à l'utilisateur p.ex.

Propriétés du champ de chargement de fichier

Vous avez préparé votre formulaire et y avez intégré un champ de chargement. Voyons comment le paramétrer pour la personnalisation du dossier de réception et du nom de fichier.

Dans l'arborescence des champs de votre formulaire, sélectionnez le champ de chargement de fichier. Dans le panneau des propriétés, cliquez l'onglet Avancé.
Par défaut, BreezingForms à prérempli le champ du répertoire de destination de la manière suivante {ff_uploads}.

Ce code raccourcis est originairement selon le chemin ftp suivant : racineSite/media/breezingforms/uplpads de sorte que chaque image chargée par le champ soit envoyé dans ce répertoire.

Nous pouvons ajouter divers codes de personnalisation et je les énumère ci-après et vous indique leur signification :

Codes pour la création de dossier

  1. {userid} = idUtilisateur
  2. {username} = nomUtilisateur_idUtilisateur
  3. {name} = nom_idUtilisateur
  4. {date} = date (aaaa_mm_jj)
  5. {datetime} = Date_Heure (aaaa_mm_jj_HH_mm_ss)
  6. {field:nomChamp} : Nom du champ nomChamp
  7. {nomChamp:value} : Valeur de saisie du champ nomChamp

Codes pour le nom de fichier :

  1. {filemask:FIELDNAME} = valeur de saisie du champ FIELDNAME
  2. {filemask:_separator} = Trait de soulignement _
  3. {filemask:_username} = NomUtilisateur de l'utilisateur enregistré et connecté
  4. {filemask:_userid} = idUtilisateur enregistré et connecté
  5. {filemask:_name} = Nom de l'utilisateur connecté
  6. {filemask:_datetime} = date (aaaa_mm_jj)
  7. {filemask:_timestamp} = Date_Heure (aaaa_mm_jj_HH_mm_ss)
  8. {filemask:_random} = Série de 10 chiffres au hasard.

Le nom de dossier / sous-dossier et le nom du fichier doivent être séparés par le caractère Pipe ( ).

Combinaison nom de dossier + nom de fichier personnalisé.

Nous pouvons dès lors combiner ces codes afin d'obtenir une personnalisation poussée.

Exemple

{ff_uploads}/{nomDeChamp:value}|{filemask:_name}{filemask:_separator}{filemask:_random}

donnera un fichier nommé Nom_1234567890.jpg dans le répertoire nommé selon la valeur du champs nomDeChamp

Si l'utilisateur n'est pas connecté, le nom de l'image ne peut être créé selon le nom de l'utilisateur, BreezingForms la nomme alors délibérément _1234567890.jpg

Exemple 2

Dans un formulaire pour lequel l'utilisateur ne doit pas être enregistré, proposez un champ de type texte, nommé prenom dans lequel vous demandez le prénom de l'utilisateur. Comme code d'enregistrement de fichier, vous pouvez utiliser le code suivant :

{ff_uploads}/{prenom:value}|{filemask:prenom}{filemask:_separator}{filemask:_random}

Pour obtenir le résultat suivant : monSite/media/breezingforms/uploads/Eddy/Eddy_1234567891.jpg

Sans suite après le caractère Pipe (indispensable), le nom de l'image ne serait pas modifié mais le répertoire sera nommé à la valeur du champ prenom et donc selon le prénom de l'utilisateur : monSite/media/breezingforms/uploads/Eddy/monImage.jpg

À vous de jouer !

Inspiré de: https://crosstec.org/en/support/online-documentation/breezingforms/10-advanced-settings/206-save-uploaded-files-different-folders.html

Cet article vous a plu ?
N'hésitez pas à laisser une évaluation en haut de page afin de me faire part de votre impression !

 Ajouter un commentaire
En utilisant ce formulaire de commentaires, vous acceptez que les informations demandées soient enregistrées, affichées ci-dessous et utilisées pour un éventuel contact (dans ce cas, n'oubliez pas de renseigner votre e-mail). L'adresse e-mail n'est jamais affichée aux visiteurs.