• User Attivo

    Problema upload multiplo

    Ciao ragazzi 🙂

    E' da settimane che cerco di trovare uno script in Ajax o JS decente per l'upload multiplo di foto che permetta di selezionare più foto insieme e che mostri una barra di progresso del caricamento o comunque una gif animata.

    Allora, il mio problema è che ho trovato un paio di script molto simpatici però non riesco proprio a farli funzionare.
    Li ho adattati sul mio sito, sono riuscito a modificare i parametri dei formati e della grandezza dei file però l'upload vero e proprio non vuole funzionare.

    Viene mostrato sempre il messaggio di errore "Failed" che viene restituito dallo script stesso.
    E' come se dovessi dire allo script qual è il percorso dell'upload, però spulciando tutti i file non sono riuscito a trovare questo paramentro...

    Uno script lo trovate quì:
    pixelcone.com/jquery/ajax-file-upload-script/

    Qualcuno di voi può provare a farlo girare in locale e in caso dirmi come ci è riuscito? 😄
    In caso potete anche consigliarmi uno script simile che voi stessi usate...

    Grazie a tutti, aspetto vostri suggerimenti :gthi:


  • Super User

    Ciao Protone86,
    hai visto questo: Uploadify ?


  • User Attivo

    @ayrton2001 said:

    Ciao Protone86,
    hai visto questo: uploadify.com

    Ciao e grazie per la risposta 😉
    Ho visto che la versione Basic Demo di quello script carica solo l'ultimo file in lista. Strano che la versione ufficiale abbia già dei problemi 😄

    Comunque ora vedo...

    Intanto se avete altre idee dite pure :bigsmile:


  • Super User

    A me funziona alla grande!


  • User

    Scusate se rievoco una discussione vecchiotta.
    Sto tentando di usare uploadify, nella versione a pagamento (uploadifive).
    Sembra funzionare tutto, ma in realtà se vado a vedere nella cartella, il file non viene caricato.
    Inoltre, anche se provo a caricare file con estensioni non autorizzate, non mi da errori.....

    Qualcuno ha riscontrato problemi simili?

    Grazie.


  • User Attivo

    Ciao, per esperienza personale posso dirti che devi verificare le seguenti condizioni:

    • il percorso di salvataggio del file deve essere corretto (verificalo stampandolo magari con un echo);
    • devi aprire la sessione con session_start() nel file uplodify.php.

    Spero di esserti stato di aiuto. Comunque maggiori dettagli li trovi nel forum del sito ufficiale di uploadify.

    Ciao :gthi:


  • User

    @Protone86 said:

    Ciao, per esperienza personale posso dirti che devi verificare le seguenti condizioni:

    • il percorso di salvataggio del file deve essere corretto (verificalo stampandolo magari con un echo);
    • devi aprire la sessione con session_start() nel file uplodify.php.

    Spero di esserti stato di aiuto. Comunque maggiori dettagli li trovi nel forum del sito ufficiale di uploadify.

    Ciao :gthi:

    grazie per la risposta!
    perdonami ma non ho ben capito la parte del session_start()..........
    mi faresti un esempio banale?
    grazie.


  • User Attivo

    Nella pagina che contiene il pulsante di caricamento del file dovresti avere un codice molto simile a questo:

    
    		<input id="file_upload" name="file_upload" type="file"/>
    
    
    		<script type="text/javascript" src="/upload_album/jquery-1.4.2.min.js"></script>
    		<script type="text/javascript" src="/upload_album/swfobject.js"></script>
    		<script type="text/javascript" src="/upload_album/jquery.uploadify.v2.1.4.min.js"></script>
    		<script type="text/javascript">
    		$(document).ready(function() {
    		  $('#file_upload').uploadify({
    			'uploader'  : '/upload_album/uploadify.swf',
    			'script'    : '/upload_album/uploadify.php',
    			'cancelImg' : '/upload_album/cancel.png',
    			'folder'    : '/uploads',
    			'fileExt'     : '*.jpg;*.jpeg;*.png',
    			'fileDesc'    : 'Image Files',
    			'buttonText'  : 'Carica',
    			'sizeLimit'   : 5242880,
    			'queueSizeLimit' : 10,
    			'multi'       : true,
    			'scriptData': { 'session': '<?php echo session_id(); ?>'<?php echo $scriptData; ?>},
    			'auto'      : true
    		  });
    		});
    		</script>
    
    

    ...e poi nel file che processa il caricamento del file (dovrebbe essere uploadify.php) devi aggiungere questa riga di codice PHP prima di tutto il resto dello script:

    
    //Richiamo la variabile di sessione gestita dallo script in JavaScript nell'altro file.
    if ($_REQUEST['session']) session_id($_REQUEST['session']);
    
    
    //Avvio la sessione PHP per identificare l'utente
    session_start();
    
    

    Spero di esserti stato di aiuto 🙂


  • User

    in realtà no perchè uso UPLOADIFIVE (quello a pagamento)

    PAGINA 1

        <h1>UploadiFive Demo</h1>
        <form>
            <div id="queue"></div>
            <input id="file_upload" name="file_upload" type="file" multiple="true">
            <a style="position: relative; top: 8px;" href="javascript:$('#file_upload').uploadifive('upload')">Upload Files</a>
        </form>
    
    
        <script type="text/javascript">
        
            $(function() {
                $('#file_upload').uploadifive({
                    'auto'         : true,
                    'formData'     : {'test' : 'something'},
                    'queueID'      : 'queue',
                    'uploadScript' : 'uploadifive.php',
                    'onUploadComplete' : function(file, data) {
                        console.log(data);
                    }
                });
            });
            
        </script>
    
    

    PAGINA 2

    <?php
    /*
    UploadiFive
    Copyright (c) 2012 Reactive Apps, Ronnie Garcia
    */
    //Richiamo la variabile di sessione gestita dallo script in JavaScript nell'altro file.
    if ($_REQUEST['session']) session_id($_REQUEST['session']);
    
    
    
    
    //Avvio la sessione PHP per identificare l'utente
    session_start();
    
    
    
    
    // Set the uplaod directory
    $uploadDir = '/uploads';
    
    
    if (!empty($_FILES)) {
    
    
        $tempFile   = $_FILES['Filedata']['tmp_name'][0];
        $uploadDir  = $_SERVER['DOCUMENT_ROOT'] . $uploadDir;
        echo $uploadDir;
        $targetFile = $uploadDir . $_FILES['Filedata']['name'][0];
    
    
        // Validate the file type
        $fileTypes = array('jpg', 'jpeg', 'gif', 'png'); // Allowed file extensions
        $fileParts = pathinfo($_FILES['Filedata']['name'][0]);
    
    
        // Validate the filetype
        if (in_array($fileParts['extension'], $fileTypes)) {
    
    
            // Save the file
            move_uploaded_file($tempFile,$targetFile);
            echo 1;
    
    
        } else {
    
    
            // The file type wasn't allowed
            echo 'Invalid file type.';
    
    
        }
    }
    ?>
    
    

  • User Attivo

    Ma adesso che hai messo la parte di codice che richiama la sessione è cambiato qualcosa? Che errore ti da?


  • User

    il problema è che non da errore.
    sembra funzionare ma i file non ci sono fisicamente......


  • User Attivo

    Quindi è molto probabile che:

    • o hai un problema di sessione
    • oppure hai un problema col percorso di salvataggio del file.

    Se il percorso è dinamico, prova a sostituirlo con uno fisso per fare un test come ad esempio "../immagini/nome_del_file.jpg".
    Nota che ho messo "../" proprio perchè, se la cartella immagini si trova al di fuori della cartella in cui sono presenti i file di uploadifive, devi dire allo script di retrocedere almeno di una cartella. Capito?


  • User

    Cavolo era un problema nel percorso...
    risolto!
    grazie infinite!


  • User Attivo

    Prego 🙂