Upload multiplo di immagini o files tramite form
5 su 3 voti
Tempo di lettura: Meno di 1 minuto

Upload multiplo di immagini o files tramite form

Molte persone mi hanno chiesto come poter fare un upload multiplo di immagini o files tramite un form in html

Se siete in questa pagina in genere il nostro form ha una struttura del genere:

<form action="&lt;?php echo $_SERVER['PHP_SELF']; ?&gt;" enctype="multipart/form-data" method="POST">
<input name="file" type="file" />
<input type="submit" value="carica" /></form>

per poi richiamare il file caricato semplicemente con:

if(isset($_FILES['file'])){
$nome = $_FILES['file']['name'];
...
..
.
}

Ma se la vostra esigenza è fare upload multipli basterà aggiungere all’input type=”file” 2 paroline.. file[] e multiple

per poi richiamare il file caricato semplicemente con:

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="POST"><input multiple="multiple" name="file[]" type="file" /> <input type="submit" value="carica" /></form>

e richiamare quindi i file caricati , tramite array invece della solita variabile
quindi sinteticamente con:

if(isset($_FILES['file'])){
$filestotali = count($_FILES['file']['name']);
for($i=0;$i<=$filestotali-1;$i++){
$nome = $_FILES['file']['name']["$i"];
..
.
}
}

alla prossima guida!

Commenti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Recensioni

  1. Questa è un’ottima soluzione, però solo se i file vengono selezionati in gruppo, quindi devono trovarsi nella stessa directory. Esiste un sistema più generalizzato, che mi consenta di fare upload di file anche se selezionati uno alla volta in cartelle diverse, pur usando sempre un solo campo di input, o simulandolo? In ogni caso, evitando di dover inserire più campi input file, cosa che tra l’altro ha il limite di dover stabilire a priori il numero di file da poter trasferire?

    grazie

  2. Ciao Paul generalmente il sistema di upload multipli funziona sempre per file localizzati nella stessa cartella/directory. C’è invece la possibilità di caricare i file in cartelle diverse in base al loro peso / estenzione