{"id":167035,"date":"2025-08-25T09:00:00","date_gmt":"2025-08-25T09:00:00","guid":{"rendered":"https:\/\/gtechgroup.it\/blog\/gravity-forms-file-upload-documenti-allegati\/"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T22:00:00","slug":"gravity-forms-file-upload-documenti-allegati","status":"publish","type":"post","link":"https:\/\/gtechgroup.it\/blog\/gravity-forms-file-upload-documenti-allegati\/","title":{"rendered":"Gravity Forms e il File Upload: Documenti, Immagini e Allegati"},"content":{"rendered":"<h2>Gravity Forms e il File Upload: Documenti, Immagini e Allegati<\/h2>\n<p>Il campo file upload di Gravity Forms &#232; una funzionalit&#224; 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.<\/p>\n<h3>Il Campo File Upload: Panoramica<\/h3>\n<p>Gravity Forms offre due varianti del campo file upload, ognuna con caratteristiche diverse:<\/p>\n<p><strong>Single File Upload:<\/strong> Permette il caricamento di un solo file per campo. L&#8217;utente vede il classico pulsante &#8220;Scegli file&#8221; del browser. Questa variante &#232; pi&#249; semplice e compatibile con tutti i browser e dispositivi.<\/p>\n<p><strong>Multi-File Upload:<\/strong> Permette il caricamento di pi&#249; file contemporaneamente tramite un&#8217;interfaccia drag-and-drop moderna. L&#8217;utente pu&#242; trascinare i file nell&#8217;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.<\/p>\n<p>Per aggiungere un campo file upload al modulo, vai nell&#8217;editor e trascina il campo <strong>File Upload<\/strong> dalla sezione Advanced Fields. Nelle impostazioni del campo, puoi scegliere tra le due modalit&#224;.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/gtechgroup.it\/blog\/wp-content\/uploads\/2026\/05\/gf-02-newform.png\" alt=\"Aggiunta del campo File Upload nell&#8217;editor di Gravity Forms\" \/><\/p>\n<h3>Configurare le Restrizioni sui File<\/h3>\n<p>La sicurezza &#232; fondamentale quando si accettano file dagli utenti. Gravity Forms permette di configurare diverse restrizioni per controllare cosa pu&#242; essere caricato:<\/p>\n<p><strong>Estensioni consentite:<\/strong> Specifica quali tipi di file sono accettati inserendo le estensioni separate da virgola. Ad esempio: <code>pdf,doc,docx,jpg,png<\/code>. Se un utente tenta di caricare un file con un&#8217;estensione non consentita, il modulo mostra un messaggio di errore chiaro. &#200; fortemente consigliato limitare sempre le estensioni per motivi di sicurezza: non permettere mai il caricamento di file eseguibili come <code>.exe<\/code>, <code>.php<\/code>, <code>.js<\/code> o <code>.sh<\/code>.<\/p>\n<p><strong>Dimensione massima:<\/strong> Imposta un limite massimo per la dimensione del file in MB. Il valore predefinito corrisponde al limite impostato nel server PHP (<code>upload_max_filesize<\/code>). Puoi impostare un valore inferiore nelle impostazioni del campo, ma non puoi superare il limite del server senza modificare la configurazione PHP.<\/p>\n<p><strong>Numero massimo di file:<\/strong> Per il multi-file upload, puoi specificare quanti file l&#8217;utente pu&#242; caricare. Un limite ragionevole evita abusi e problemi di storage.<\/p>\n<h3>Dove Vengono Salvati i File<\/h3>\n<p>Per impostazione predefinita, i file caricati tramite Gravity Forms vengono salvati nella cartella <code>\/wp-content\/uploads\/gravity_forms\/<\/code> del tuo sito WordPress. La struttura delle sottocartelle &#232; organizzata per ID del modulo e della entry, rendendo facile l&#8217;identificazione dei file.<\/p>\n<p>Il percorso completo di un file caricato segue questo schema:<\/p>\n<p><code>\/wp-content\/uploads\/gravity_forms\/[form_id]-[hash]\/[year]\/[month]\/[filename]<\/code><\/p>\n<p>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 <code>.htaccess<\/code> nella cartella uploads per impedire l&#8217;esecuzione di script PHP caricati come file.<\/p>\n<h3>Sicurezza del File Upload<\/h3>\n<p>Accettare file dagli utenti &#232; una delle operazioni pi&#249; delicate dal punto di vista della sicurezza. Ecco le misure di protezione implementate da Gravity Forms e le best practice aggiuntive:<\/p>\n<ul>\n<li><strong>Validazione lato server:<\/strong> Gravity Forms verifica l&#8217;estensione del file sia lato client (JavaScript) che lato server (PHP), impedendo di aggirare la validazione disabilitando JavaScript.<\/li>\n<li><strong>Sanitizzazione del nome file:<\/strong> I nomi dei file vengono sanitizzati per rimuovere caratteri speciali che potrebbero causare problemi di sicurezza o compatibilit&#224;.<\/li>\n<li><strong>Protezione directory:<\/strong> Il file <code>.htaccess<\/code> nella cartella uploads previene l&#8217;esecuzione diretta di script.<\/li>\n<li><strong>Verifica MIME type:<\/strong> Oltre all&#8217;estensione, Gravity Forms verifica il tipo MIME del file per assicurarsi che il contenuto corrisponda all&#8217;estensione dichiarata.<\/li>\n<\/ul>\n<p><strong>Best practice aggiuntive:<\/strong><\/p>\n<ul>\n<li>Limita sempre le estensioni consentite al minimo necessario.<\/li>\n<li>Imposta un limite di dimensione ragionevole (5-10 MB per documenti, 20-50 MB per immagini ad alta risoluzione).<\/li>\n<li>Configura un antivirus sul server per scansionare i file caricati.<\/li>\n<li>Considera di spostare i file caricati su un servizio di storage esterno come Amazon S3 per ridurre il carico sul server.<\/li>\n<\/ul>\n<p><img decoding=\"async\" src=\"https:\/\/gtechgroup.it\/blog\/wp-content\/uploads\/2026\/05\/gf-04-entries.png\" alt=\"Vista delle entry con file allegati caricati tramite Gravity Forms\" \/><\/p>\n<h3>Allegare File alle Notifiche Email<\/h3>\n<p>Una funzionalit&#224; molto richiesta &#232; la possibilit&#224; di allegare i file caricati alle notifiche email. Per farlo, nella configurazione della notifica email troverai la sezione <strong>Attachments<\/strong> dove puoi selezionare i campi file upload i cui file verranno allegati all&#8217;email.<\/p>\n<p>Attenzione: allegare file grandi alle email pu&#242; causare problemi. La maggior parte dei server email ha un limite massimo per gli allegati (generalmente 10-25 MB). Se i file sono grandi, &#232; preferibile includere nella notifica solo il link per scaricare il file dalla entry di Gravity Forms piuttosto che allegarlo direttamente.<\/p>\n<p>Per includere il link al file nella notifica, usa il merge tag del campo file upload: <code>{Field Label:FIELD_ID}<\/code>. Questo inserir&#224; l&#8217;URL del file caricato nel corpo dell&#8217;email.<\/p>\n<h3>Upload su Servizi Cloud<\/h3>\n<p>Per siti che gestiscono un grande volume di file o che necessitano di storage aggiuntivo, Gravity Forms pu&#242; essere integrato con servizi cloud tramite add-on o codice personalizzato:<\/p>\n<p><strong>Dropbox:<\/strong> L&#8217;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.<\/p>\n<p><strong>Google Drive:<\/strong> Tramite integrazioni di terze parti o Zapier, puoi trasferire automaticamente i file su Google Drive, organizzandoli in cartelle basate sulla data o sulla entry.<\/p>\n<p><strong>Amazon S3:<\/strong> Per soluzioni enterprise, puoi utilizzare filtri PHP personalizzati per reindirizzare il salvataggio dei file su Amazon S3, garantendo scalabilit&#224; e ridondanza.<\/p>\n<h3>Gestire i File nelle Entry<\/h3>\n<p>I file caricati sono accessibili dalla vista delle entry di Gravity Forms. Per ogni entry che include un file upload, vedrai:<\/p>\n<ul>\n<li>Il nome del file con link per il download diretto.<\/li>\n<li>La dimensione del file.<\/li>\n<li>L&#8217;anteprima (per immagini).<\/li>\n<\/ul>\n<p>Quando elimini una entry, Gravity Forms ti chiede se vuoi eliminare anche i file associati dal server. &#200; importante gestire questa operazione con attenzione: se hai gi&#224; scaricato o archiviato i file, puoi eliminarli per recuperare spazio. In caso contrario, i file rimarranno orfani sul server occupando spazio inutilmente.<\/p>\n<h3>Ottimizzazione delle Prestazioni<\/h3>\n<p>Il caricamento file pu&#242; avere un impatto significativo sulle prestazioni del server, specialmente con file grandi o un alto volume di upload. Ecco come ottimizzare:<\/p>\n<p><strong>Limiti PHP:<\/strong> Assicurati che i seguenti parametri PHP siano configurati adeguatamente:<\/p>\n<ul>\n<li><code>upload_max_filesize<\/code>: La dimensione massima di un singolo file (consigliato: almeno il doppio del limite impostato in Gravity Forms).<\/li>\n<li><code>post_max_size<\/code>: La dimensione massima del POST (deve essere maggiore di upload_max_filesize).<\/li>\n<li><code>max_execution_time<\/code>: Il tempo massimo di esecuzione dello script (aumenta per file grandi su connessioni lente).<\/li>\n<li><code>max_input_time<\/code>: Il tempo massimo per il parsing dell&#8217;input (aumenta per upload grandi).<\/li>\n<li><code>memory_limit<\/code>: Il limite di memoria PHP (almeno 256 MB per gestire file grandi).<\/li>\n<\/ul>\n<p><strong>CDN e Storage:<\/strong> 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.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/gtechgroup.it\/blog\/wp-content\/uploads\/2026\/05\/gf-06-status.png\" alt=\"Pagina di stato Gravity Forms con verifica dei limiti di upload del server\" \/><\/p>\n<h3>Casi d&#8217;Uso Comuni<\/h3>\n<p>Ecco alcuni scenari tipici in cui il campo file upload di Gravity Forms eccelle:<\/p>\n<p><strong>Modulo di candidatura:<\/strong> 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.<\/p>\n<p><strong>Richiesta di supporto:<\/strong> Permetti agli utenti di allegare screenshot o log file per documentare il problema. Limita le estensioni a formati immagine e testo.<\/p>\n<p><strong>Invio documenti:<\/strong> 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.<\/p>\n<p><strong>Contest fotografico:<\/strong> Raccogli foto dai partecipanti con restrizioni su formato (solo JPG\/PNG) e dimensione massima.<\/p>\n<p><strong>Modulo di registrazione con foto profilo:<\/strong> Un singolo campo file upload limitato a immagini per raccogliere la foto profilo dell&#8217;utente durante la registrazione.<\/p>\n<h3>Problemi Comuni e Soluzioni<\/h3>\n<p>Ecco i problemi pi&#249; frequenti legati al file upload e le relative soluzioni:<\/p>\n<ul>\n<li><strong>&#8220;Il file &#232; troppo grande&#8221;:<\/strong> Verifica i limiti PHP del server e il limite impostato nel campo Gravity Forms. Entrambi devono essere sufficienti.<\/li>\n<li><strong>Upload fallito senza errore:<\/strong> Spesso causato da un timeout del server. Aumenta <code>max_execution_time<\/code> e <code>max_input_time<\/code>.<\/li>\n<li><strong>File non allegato all&#8217;email:<\/strong> Verifica che il campo file upload sia selezionato nella sezione Attachments della notifica e che la dimensione non superi il limite del server email.<\/li>\n<li><strong>Errore 413:<\/strong> Il web server (Nginx o Apache) ha un limite proprio sulla dimensione delle richieste. Per Nginx, modifica <code>client_max_body_size<\/code>. Per Apache, modifica <code>LimitRequestBody<\/code>.<\/li>\n<\/ul>\n<p>Per configurare il file upload in modo sicuro e performante sul tuo sito WordPress, <a href=\"https:\/\/gtechgroup.it\/contatti\/\">contatta il team di G Tech Group<\/a>.<\/p>\n<div style=\"background:#f9f9f9;border:1px solid #e0e0e0;padding:20px;margin-top:30px;border-radius:8px;\">\n<h4>Continua a Leggere: Guide WordPress Essenziali<\/h4>\n<ul>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/come-installare-elementor-wordpress-guida-principianti\/\">Guida completa a Elementor<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/wp-rocket-installare-configurare-wordpress\/\">Ottimizzare WordPress con WP Rocket<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/come-installare-configurare-seopress-wordpress-guida\/\">SEOPress: la guida definitiva alla SEO su WordPress<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/installare-attivare-updraftplus-wordpress\/\">Backup WordPress con UpdraftPlus<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/woocommerce-seo-ottimizzare-prodotti-categorie\/\">WooCommerce SEO: ottimizzare il tuo negozio online<\/a><\/li>\n<\/ul>\n<\/div>\n<h3>Migliora il Tuo Sito WordPress<\/h3>\n<p>Scopri le nostre guide complete sugli altri plugin essenziali per WordPress:<\/p>\n<ul>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/come-installare-elementor-wordpress-guida-principianti\/\">Come Installare Elementor su WordPress<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/wp-rocket-installare-configurare-wordpress\/\">Come Installare e Configurare WP Rocket<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/come-installare-configurare-seopress-wordpress-guida\/\">Come Installare e Configurare SEOPress<\/a><\/li>\n<li><a href=\"https:\/\/gtechgroup.it\/blog\/installare-attivare-updraftplus-wordpress\/\">Come Installare e Configurare UpdraftPlus<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Gravity Forms e il File Upload: Documenti, Immagini e Allegati Il campo file upload di Gravity Forms &#232; una funzionalit&#224; essenziale per raccogliere documenti, immagini,&hellip;<\/p>\n","protected":false},"author":0,"featured_media":167012,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"File Upload Gravity Forms | Guida","_seopress_titles_desc":"Come configurare il file upload in Gravity Forms. Tipi file, dimensioni, upload multipli, dropzone e sicurezza.","_seopress_robots_index":"","footnotes":""},"categories":[1],"tags":[3324,3323,2779,3309,3328],"class_list":["post-167035","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-senza-categoria","tag-allegati","tag-documenti","tag-file-upload","tag-form","tag-gravity-forms"],"_links":{"self":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/posts\/167035","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/types\/post"}],"replies":[{"embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/comments?post=167035"}],"version-history":[{"count":0,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/posts\/167035\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/media\/167012"}],"wp:attachment":[{"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/media?parent=167035"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/categories?post=167035"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/gtechgroup.it\/blog\/wp-json\/wp\/v2\/tags?post=167035"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}