• User

    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


  • User Attivo

    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.


  • User Attivo

    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";
    }
    ?>
    
    

  • User

    ciao spaccioman il tuo metodo mi sembra più serio ma più complicato.


  • User Newbie

    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?


  • User Attivo

    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


  • User Newbie

    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


  • User Attivo

    @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.