Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    10

    Upload di piú file: problema con l'ultimo allegato

    Intanto salve a tutti e complimenti per il sito e il foro, dove ho piú volte trovato consigli importanti e capito come risolvere i vari problemucci che ho incontrato durante la creazione del sito a cui sto lavorando.
    È in buona parte anche grazie a voi che ora è quasi pronto, ma...
    in una sezione del sito ho bisogno di fornire all'utente la possibilitá di inviarmi alcuni documenti.
    L'utente deve poter inviare uno o piú documenti (numero variabile).
    Ho preparato allora un modulo d'inserimento con un solo input, e un pulsante ("allega un altro documento") che richiama un codice javascript che inserisce progressivamente nuovi input di tipo file.
    Il modulo contiene la variabile nascosta "attachnum" che viene incrementata cliccando su ("allega un altro"). Il nome degli iput è doc1,doc2,doc3 ecc.

    A questo punto, premendo su invia, la pagina lanciata, dopo aver letto i dati inviati usa questo ciclo:
    for ($num=1; $num<=$numeroallegati; $num++){
    $name="doc".$num; //Name of the file passed by the form
    $res=upload($name,$num,$finalfilename);
    }
    upload() funziona bene (benino), se voglio inviare un solo documento.
    Se ne invio piú di uno, funziona tutto benissimo, tranne che per l'ultimo.
    Vi copincollo un risultato d'esempio:

    Allegati da inviare: 5.

    Allegato 1 caricato correttamente
    .

    Allegato 2 caricato correttamente
    .

    Allegato 3 caricato correttamente
    .

    Allegato 4 caricato correttamente
    .

    Si è verificato un problema durante il caricamente dell'allegato 5. Errore:
    Non dipende in alcun modo dal tipo di fascicolo che allego per ultimo... ho provato con diversi documenti, ma niente, il problema non è nel caricare quel determinato documento (se lo invio in un ingresso diverso dall'ultimo funziona correttamente), ma proprio nell'ultima chiamata alla funzione, e questa cosa non me la so proprio spiegare!

    Il codice di upload() è:

    function upload($file,$num,$finalname) {
    $target = $finalname;

    if (!(is_uploaded_file($_FILES[$file]['tmp_name']))) {
    //error while uploading the file
    echo "

    Si &egrave verificato un problema durante il caricamente dell&apos;allegato ".$num.". Errore: ".$_FILES[$file]['error']."</p>";
    return -1;
    }

    //EVERYTHING OK
    //UPLOAD THE FILE
    if (move_uploaded_file($_FILES[$file]['tmp_name'],$target)) {
    echo "

    Allegato ".$num." caricato correttamente</p>.";
    return 1;
    } else {
    echo "

    Si &egrave; verificato un problema con l&apos;allegato ".$num.". Errore: ".$_FILES[$file]["error"].".</p>";
    return -1;
    }

    } //END OF UPLOAD FUNCTION
    Ho tolto la parte riguardante il controllo del tipo e delle dimensioni (il problema non è lí, comunque) e tolto la parte riguardante l'assegnazione di $target (ho implementato un procedimento un po' complicato per la determinazione del nome del documento, ma ora non è rilevante).
    Poiché il messaggio di errore restituito è "Si è verificato un problema durante il caricamente dell'allegato", si evince che il problema avviene nel momento in cui chiamo is_uploaded_file.
    Il dubbio è... perché? O meglio, perché solo con l'ultimo? Cosa cambia?
    Grazie in anticipo...

    PS: (ho un problemuccio anche con la funzione di controllo del tipo. Ne parlo qui o apro un altro filone?)

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    10
    up

  3. #3
    Scarica e utilizza JumpLoader ...ti semplifica la vita

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.