- Home
- Categorie
- Coding e Sistemistica
- PHP
- Upload di più immagini in una volta
-
Upload di più immagini in una volta
Ciao a tutti,
ho una domanda da farvi. Come posso fare l'upload di più immagini o file con php?
Premetto di non sapere il numero di immagini da caricare, quindi deve adattarsi alla necessità del numero di upload dell'utente.
Grazie
-
Puoi tranquillamente. Se non sai quante ne dovrà uploadare puoi o metterne un tot che sia maggiore di quello che pensi possa richiederne l'utente, oppure prima glielo chiedi e poi prepari il form con tante "<input type=file" quanti te ne ha chiesti l'utente.
Oppure ne carichi un tot alla volta (io di solito faccio 3, per non farlo aspettare troppo) e poi chiedi le successive.
-
Devi impostare un form con attributo enctype="application/x-www-form-urlencoded" poi inserire un campo di file che chiamerai ad esempio upfile ed infine nel codice php di processo, per fare l'upload vero e proprio utilizzi quesdto codice:
<? $ftmp = $_FILES['upfile']['tmp_name']; $fname = "nome_cartella_dove_vuoi_sbattere_il_file/".$_FILES['upfile']['name']; if(move_uploaded_file($ftmp, $fname)) { echo "File caricato correttamente"; }else{ echo "Errore nel caricamento del file"; } ?>
-
ciao spaccioman il tuo metodo mi sembra più serio ma più complicato.
-
non mi è molto chiaro questa eventualità...c'e uno esempio sia della form che del php?
se io non so quante foto vorrebbe caricare il cliente...come posso fare? per i campi input?
-
Prima di caricare la pagina dell'upload delle immagini o documenti precarica una pagina con un select con numeri da 1 a 100, per esempio, così da selezionare un numero, riferito alle immagini da caricare, inviarlo alla pagina dell'upload ed al campo "<input type=file" fargli un ciclo (Es.: for) per il numero scelto.
Es.:
Se dalla pagina precaricata, dove selezionare il numero di immagini che si vogliono caricare, scelgo il numero 10 ecco come fare:
for ($x=1; $x<=$_GET['num']; $x++)
** {
** echo "<input type='file' name='upfile_" . $x . "'>"; **
** }Così facendo i campi di upload file sono uguali al numero scelto.
Non è finita in quanto la funzione che copia il file è riferita solo ad un file ed allora$mieifile = $FILES['upfile" . $x . "']['name'];
$ftmp = $FILES['upfile" . $x . "']['tmp_name'];
$fname = "nome_cartella_dove_vuoi_sbattere_il_file/".$mieifile;
if(move_uploaded_file($ftmp, $fname)) {
echo "File caricato correttamente";
}else{
echo "Errore nel caricamento del file";
}E' una cosa un pò complessa da spiegare perchè manca qualche passaggio.
Comunque spero di essermi spiegato e ti saluto
Fammi sapere
CIAO
-
si si ho capito..per fare la pagina "dinamica" tipo che vengono fuori i campi input "magicamente" devo usare un javascript o un ajax? grazie ancora
-
@nitros1980 said:
si si ho capito..per fare la pagina "dinamica" tipo che vengono fuori i campi input "magicamente" devo usare un javascript o un ajax? grazie ancora
Un'altra cosa da tener presente è che il server, o meglio i server in circolazione, danno la possibilità di uploadare max 12MB, giù di li, di foto per volta. Per avere la possibilità di uploadare quante immagini o file si voglia bisogna comprare un server dedicato ed il tutto si aggira dai 1300 ai 1600 euro + iva all'anno.