Visualizzazione dei risultati da 1 a 7 su 7

Discussione: caricamento multiplo

  1. #1

    caricamento multiplo

    Salve a tutti.. ho un piccolo problema con Javascript. Vorrei permettere ad un utente di effettuare l'upload di più files simultaneamente ovvero , questi verranno selezionati tutti e successivamente uno script eseguirà l'invio al server .

    Ho pensato di inserire prima i nomi dei files in un array , magari visualizzandoli in output (fin qui tutto fatto).. e poi in qualche modo (e qui iniziano i problemi) inviarli al server.
    Avevo pensato di generare ,in base al numero di file selezionati ,dei campi <input type="file"..> all'interno di una pagina con un form html e poi inviarli tutti tramite post ad una pagina php.. VVoVe:
    ma la confusione ha avuto il sopravvento ..

    poi ho pensato di utilizzare un unico campo e di cambiare dinamicamente il nome del campo in modo che sul server vengano caricati tutti i file con nome temporeneo es ..file1 file2 file3 con i quali effettuerò una move_uploaded_file in php, per copiarli sul server nella cartella da me definita..

    eccovi un po di codice..

    elencoFile=new Array();// qui metto tutti in nomi dei file
    var position=0;

    function caricaFile(Nomefile){// carica il nome del file inserito nell'array
    elencoFile[position]=Nomefile;
    position++;
    }
    function visualizzaFile(){// visualizza l'elenco dei file selezionati su di un iframe
    doc=open("","output");
    doc.document.write("

    "+elencoFile[position-1]+"</p>");
    }

    function setName(form){// setta il campo name del tag <input type="file"
    form.elements[0].name="myfile"+position;
    alert(form.name);
    }

    function Archivia(form){// esegue submit sul form contenente il campo file
    setName(form);//alla pagina php che esegue l'upload
    form.submit();
    }


    function sendIndex(Nomeform){// setta il valore di un campo hidden che invio alla pag php
    Nomeform.index.value=position;//che tiene conto del numero di file inseriti
    alert(Nomeform.index.value);
    }

    nella pagina php faccio..

    $i=$_POST['index'];// per il contatore
    $filename='myfile'.$i; // nome del file
    $file=$_FILES[$filename]['name'];
    if(is_uploaded_file($_FILES[$filename]['tmp_name'])){
    copy($_FILES[$filename]['tmp_name'],"UserPreview/".$_FILES[$filename]['name']);
    }else{
    move_uploaded_file($_FILES[$filename]['tmp_name'],"UserPreview/".$_FILES[$filename]['name'] );}
    "
    header("Location:InserimentoFumettiUtente.htm");pe r tornare alla pagina di partenza


    nella pagina html creo un form con ...
    <input type="File">
    <input type="hidden" name="index">
    <input type="button" name="clicca" value="carica" onclick="Javascript:caricaFile(form.elements[0].value);visulizzaFile();sendIndex(form);Archivia(f orm);"

    Non funziona perchè il php non riconosce come nome valido per il file
    la stringa $filename.

    suggerimenti?? Buon divertimento.

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    I compiti del browser per l'upload dei files sono estremamante limitati... e quelli del javascript praticamente nulli.

    Poiche' l'oggetto che si occupa dell'invio e' l'elemento di tipo file da inserire in un form e poiche ogni elemento puo' inviare un solo file e poiche il contenuto dell'elemento puo' essere impostato solo dall'utente e non modificato dal javascript, le conclusioni sono ovvie: nella pagina dovrai inserire tanti elements di tipo file quanti ne occorrono; l'utente sara' l'unico a decidere, scegliendoli dal proprio pc, quali files inviare; e tu non puoi forzare o condizionare in alcun modo le sue scelte.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3

    passaggio stringhe da javascript a php

    Problema risolto ..o meglio ho creato una pagina di transito dove tramite php genero i campi input che mi servono.
    L'unico problema adesso è che devo comunque passare i nomi dei file da caricare ...
    Ho pensato di concatenare tramite javascript tutti i nomi,separati da un carattere "*", e di passarli tramite GET alla pagina php... ma non funziona! Come si fa a passare una stringa da Javascript a php?
    :master:

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Originariamente inviato da br1
    ... e tu non puoi forzare o condizionare in alcun modo le sue scelte...
    Evidentemente non sono stato chiaro... il controllo e' in sola lettura e tu non puoi decidere quale file verra' inviato... sarebbe come poterci scrivere "numero_c_c.txt" , "password_banca.txt" , "pin_bancomat.txt" eccetera... magari in tanti tentativi qualcosa arraffi.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5

    chiarimenti

    Forse è meglio che spiego meglio il mio problema:

    Vorrei creare un sito di fumettistica dove gli utenti possano inserire dei fumetti di propria creazione. Se un utente realizza un fumetto di 15 pagine, ad esempio, non può mettersi mica a caricarle una alla volta.. vorrei quindi dargli la possibilità di selezionare tutte le pagine ed effettuare l'upload in un colpo solo...



    quindi vorrei creare un form dinamico che si adatti al numero di pagine ...

    si può fare con Javascript? E se si come?
    Grazie ciao

  6. #6

    chiarimenti

    Forse è meglio che spiego meglio il mio problema:

    Vorrei creare un sito di fumettistica dove gli utenti possano inserire dei fumetti di propria creazione. Se un utente realizza un fumetto di 15 pagine, ad esempio, non può mettersi mica a caricarle una alla volta.. vorrei quindi dargli la possibilità di selezionare tutte le pagine ed effettuare l'upload in un colpo solo...



    quindi vorrei creare un form dinamico che si adatti al numero di pagine ...

    si può fare con Javascript? E se si come?
    Grazie ciao

  7. #7
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Il problema l'avevi esposto chiaramente anche prima, ma evidentemente io non ho esposto altrettanto chiaramente che non puoi fare come pensi... semplicemente non e' possibile, devi adottare altre soluzioni, come quella da me proposta.

    Il disagio dei tuoi utenti non lo puoi mitigare... questi sono i mezzi che la tecnologia ed il rispetto della informazioni custodite nel pc degli utenti mettono a disposizione, ed e' un bene che quello che tu chiedi non sia permesso.

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

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.