Visualizzazione dei risultati da 1 a 2 su 2

Discussione: upload multipli

  1. #1

    upload multipli

    Ho acquistato una applicazione java, Thin upload, per fare upload multipli da un pagina web. L'idea è questa: un utente sceglie il nome della cartella in cui vuole fare l'upload, la cartella viene creata da php e memorizzata in un cookie e si passa alla pagina che contiene lo java che mi fa navigare nel disco e scegliere i file da uplodare (tipo esplora risorse con possibilità di selezioni multiple di file). Ora clicco su invio della applet per iniziare l'upload dei file e la applet java usa per fare questo uno script php denominato upload.php che qui riporto in maniera stringata:

    <?php
    //Questo è solo per provare se lo script mi scrive il cookie
    $dt=date("d-m-Y_H-i-s");
    setcookie("prova","$dt",time()+(60*60*24*730),"/") or die ("Non ho scritto");

    //Qui si recupera dinamicamente il path, recuperato dal cookie creato precedentemente in fase di scelta della directory da parte dell'utente, della cartella in cui uplodare i file

    mkdir($_COOKIE[cartella], 0700) or die ("Impossibile creare la cartella");
    $save_path=$_COOKIE[cartella];



    $file = $_FILES['userfile'];
    $k = count($file['name']);


    for($i=0 ; $i < $k ; $i++)
    {
    if($i %2)
    {
    echo '<tr bgcolor="#FAFAFA"> ';
    }
    else
    {
    echo '<tr>';
    }

    echo '<td align="left">' . $file['name'][$i] ."</td>\n";
    echo '<td align="right">' . $file['size'][$i] ."</td></tr>\n";

    if(isset($save_path) && $save_path!="")
    {
    $name = split('/',$file['name'][$i]);

    $nome_del_file = $name[count($name)-1];

    move_uploaded_file($file['tmp_name'][$i], $save_path . $name[count($name)-1]);
    }

    }

    if(! isset($save_path) || $save_path =="")
    {
    //echo '<tr style="color: #0066cc" bgcolor="#FCFCFC" ><td colspan=2 align="left">Files have been uploaded but not saved because the destination folder has not been set. Please change the $save_path in upload.php</td></tr>';
    }

    if(isset($userfile_parent))
    {


    echo "<tr bgcolor='#FCFCFC' style='color: #0066cc'><td colspan=2>Il caricamento è andato a buon fine</td></tr>";
    }
    print_r($_COOKIE);
    ?>

    Ora non vi chiedo certo di analizzare il comportamento dello java ma il problema in php è questo:
    1) NON VIENE LETTO il valore di $_COOKIE[cartella] anche se ho verificato che sul server esiste
    2) NON VIENE SCRITTO il cookie prova
    3) print_r($_COOKIE) restituisce Array() e quindi è vuoto mentre io ho verificato che esiste e contiene lle varibili cartella, passwd, user
    4) Naturalmente l'upload non va a buon fine in quanto non viene trovata la cartella in cui fare l'upload, ma se io indico una cartella in modo costante tipo $save_path="C:\\upload\\; tutto funziona alla perfezione, quindi l'applet funge ma non riesco a trovare il modo di passare dinamicamente il valore della directory in cui fare l'upload


    se invece io richiamo direttamente dal browser il file upload.php senza passare per la applet, naturalmente non carico nulla, ma lo script esegue le parti in cui si legge e si scrive il cookie ed ho come risultato di print_r($_COOKIE) il valore:
    Array ( [cartella] => 13-04-2008_10-57-11 [user] => maurizio [passwd] => maurizio )
    Riuscite a spiegarmi perchè se il file upload.php viene richiamato via browser legge e scrive i cookie, mentre se lo richiama la applet non scrive e non legge i cookie? Grazie

  2. #2
    up

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.