Chi Siamo Area Clienti Promo del Mese Dicono di Noi Portfolio FAQ Blog
Senza categoria

Gravity Forms e il File Upload: Documenti, Immagini e Allegati

· 8 min di lettura

Gravity Forms e il File Upload: Documenti, Immagini e Allegati

Il campo file upload di Gravity Forms è una funzionalità essenziale per raccogliere documenti, immagini, curriculum vitae, portfolio e qualsiasi altro tipo di file direttamente tramite un modulo WordPress. Che tu stia creando un modulo di candidatura, un sistema di invio documenti o una piattaforma per la raccolta di materiali grafici, Gravity Forms offre strumenti avanzati per gestire il caricamento dei file in modo sicuro e controllato. In questa guida vedremo come configurare e ottimizzare il campo file upload per ogni esigenza.

Il Campo File Upload: Panoramica

Gravity Forms offre due varianti del campo file upload, ognuna con caratteristiche diverse:

Single File Upload: Permette il caricamento di un solo file per campo. L’utente vede il classico pulsante “Scegli file” del browser. Questa variante è più semplice e compatibile con tutti i browser e dispositivi.

Multi-File Upload: Permette il caricamento di più file contemporaneamente tramite un’interfaccia drag-and-drop moderna. L’utente può trascinare i file nell’area di upload o cliccare per aprire il file browser. Questa variante utilizza una libreria JavaScript avanzata che mostra il progresso del caricamento per ogni file.

Per aggiungere un campo file upload al modulo, vai nell’editor e trascina il campo File Upload dalla sezione Advanced Fields. Nelle impostazioni del campo, puoi scegliere tra le due modalità.

Aggiunta del campo File Upload nell’editor di Gravity Forms

Configurare le Restrizioni sui File

La sicurezza è fondamentale quando si accettano file dagli utenti. Gravity Forms permette di configurare diverse restrizioni per controllare cosa può essere caricato:

Estensioni consentite: Specifica quali tipi di file sono accettati inserendo le estensioni separate da virgola. Ad esempio: pdf,doc,docx,jpg,png. Se un utente tenta di caricare un file con un’estensione non consentita, il modulo mostra un messaggio di errore chiaro. È fortemente consigliato limitare sempre le estensioni per motivi di sicurezza: non permettere mai il caricamento di file eseguibili come .exe, .php, .js o .sh.

Dimensione massima: Imposta un limite massimo per la dimensione del file in MB. Il valore predefinito corrisponde al limite impostato nel server PHP (upload_max_filesize). Puoi impostare un valore inferiore nelle impostazioni del campo, ma non puoi superare il limite del server senza modificare la configurazione PHP.

Numero massimo di file: Per il multi-file upload, puoi specificare quanti file l’utente può caricare. Un limite ragionevole evita abusi e problemi di storage.

Dove Vengono Salvati i File

Per impostazione predefinita, i file caricati tramite Gravity Forms vengono salvati nella cartella /wp-content/uploads/gravity_forms/ del tuo sito WordPress. La struttura delle sottocartelle è organizzata per ID del modulo e della entry, rendendo facile l’identificazione dei file.

Il percorso completo di un file caricato segue questo schema:

/wp-content/uploads/gravity_forms/[form_id]-[hash]/[year]/[month]/[filename]

Gravity Forms genera automaticamente un hash univoco per ogni modulo, rendendo il percorso difficile da indovinare e migliorando la sicurezza. Inoltre, il plugin crea un file .htaccess nella cartella uploads per impedire l’esecuzione di script PHP caricati come file.

Sicurezza del File Upload

Accettare file dagli utenti è una delle operazioni più delicate dal punto di vista della sicurezza. Ecco le misure di protezione implementate da Gravity Forms e le best practice aggiuntive:

Best practice aggiuntive:

Vista delle entry con file allegati caricati tramite Gravity Forms

Allegare File alle Notifiche Email

Una funzionalità molto richiesta è la possibilità di allegare i file caricati alle notifiche email. Per farlo, nella configurazione della notifica email troverai la sezione Attachments dove puoi selezionare i campi file upload i cui file verranno allegati all’email.

Attenzione: allegare file grandi alle email può causare problemi. La maggior parte dei server email ha un limite massimo per gli allegati (generalmente 10-25 MB). Se i file sono grandi, è preferibile includere nella notifica solo il link per scaricare il file dalla entry di Gravity Forms piuttosto che allegarlo direttamente.

Per includere il link al file nella notifica, usa il merge tag del campo file upload: {Field Label:FIELD_ID}. Questo inserirà l’URL del file caricato nel corpo dell’email.

Upload su Servizi Cloud

Per siti che gestiscono un grande volume di file o che necessitano di storage aggiuntivo, Gravity Forms può essere integrato con servizi cloud tramite add-on o codice personalizzato:

Dropbox: L’add-on Dropbox (disponibile con licenza Elite) invia automaticamente i file caricati a una cartella Dropbox specifica. I file possono essere rimossi dal server locale dopo il trasferimento per risparmiare spazio.

Google Drive: Tramite integrazioni di terze parti o Zapier, puoi trasferire automaticamente i file su Google Drive, organizzandoli in cartelle basate sulla data o sulla entry.

Amazon S3: Per soluzioni enterprise, puoi utilizzare filtri PHP personalizzati per reindirizzare il salvataggio dei file su Amazon S3, garantendo scalabilità e ridondanza.

Gestire i File nelle Entry

I file caricati sono accessibili dalla vista delle entry di Gravity Forms. Per ogni entry che include un file upload, vedrai:

Quando elimini una entry, Gravity Forms ti chiede se vuoi eliminare anche i file associati dal server. È importante gestire questa operazione con attenzione: se hai già scaricato o archiviato i file, puoi eliminarli per recuperare spazio. In caso contrario, i file rimarranno orfani sul server occupando spazio inutilmente.

Ottimizzazione delle Prestazioni

Il caricamento file può avere un impatto significativo sulle prestazioni del server, specialmente con file grandi o un alto volume di upload. Ecco come ottimizzare:

Limiti PHP: Assicurati che i seguenti parametri PHP siano configurati adeguatamente:

CDN e Storage: Se i file caricati devono essere accessibili pubblicamente (ad esempio, per un portfolio), considera di servizi tramite CDN per ridurre il carico sul server di origine.

Pagina di stato Gravity Forms con verifica dei limiti di upload del server

Casi d’Uso Comuni

Ecco alcuni scenari tipici in cui il campo file upload di Gravity Forms eccelle:

Modulo di candidatura: Raccogli CV in formato PDF/DOC, lettera di presentazione e portfolio. Usa la logica condizionale per mostrare il campo portfolio solo se la posizione lo richiede.

Richiesta di supporto: Permetti agli utenti di allegare screenshot o log file per documentare il problema. Limita le estensioni a formati immagine e testo.

Invio documenti: Per studi professionali, commercialisti o avvocati che devono raccogliere documenti dai clienti. Configura il multi-file upload con un limite di 10 file e notifica email con allegati.

Contest fotografico: Raccogli foto dai partecipanti con restrizioni su formato (solo JPG/PNG) e dimensione massima.

Modulo di registrazione con foto profilo: Un singolo campo file upload limitato a immagini per raccogliere la foto profilo dell’utente durante la registrazione.

Problemi Comuni e Soluzioni

Ecco i problemi più frequenti legati al file upload e le relative soluzioni:

Per configurare il file upload in modo sicuro e performante sul tuo sito WordPress, contatta il team di G Tech Group.

Continua a Leggere: Guide WordPress Essenziali

Migliora il Tuo Sito WordPress

Scopri le nostre guide complete sugli altri plugin essenziali per WordPress:

#Allegati #Documenti #file upload #Form #Gravity Forms