Visualizzazione risultati 1 fino 15 di 15

Discussione: Sistema di upload con scelta della directory.

  1. #1
    Guest

    Predefinito Sistema di upload con scelta della directory.

    Salve a tutti,
    ho creato un sistema di upload per il mio sito ma poi mi sono reso conto che avevo la necessità di scegliere la directory di destinazione fra due directory allora ho composto questo che segue, solo che non funziona, manda i file sempre e solo nella directory principale e non nelle directory da me scelte.
    Quale potrebbe essere il problema?
    Grazie antipipate per la manona, a presto.

    Codice PHP:
    <?

    require("./controlla_pass.php");
    require(
    "header.php");

    if (
    $_SESSION['valido'] == "SI" and $_SESSION['permessi'] > 1) {
    require (
    "menu.php");

    if (!
    $funz) {
    $funz = "uno";
    }
    switch (
    $funz) {
    case
    uno:
    echo
    "<br><table width=\"60%\" align=\"center\" class=\"border\" cellpadding=\"10\" bgcolor=\"$sfondo_tab\"><tr><td class=\"testa1\">Funzione upload fileMessaggi</td></tr><tr valign =\"top\"><td align=\"center\"><br><br>Tramite questa funzione viene caricato il file <br>nella cartella <b>$dirupload</b>.<br><br>";


    echo
    " <form method=\"get\" action=\"upload.php\">
    <fieldset>
    <legend>Scegli la destinazione del file</legend>
    <select name=\"dirupload\">
    <option value=\"
    $uploaddir\" selected=\"selected\">$uploaddir </option>
    <option value=\"
    $uploaddir2\">$uploaddir2</option>
    </select>
    </fieldset>
    </form>"
    ;

    echo
    "<form method=\"post\" enctype=\"multipart/form-data\" action=\"upload.php\">";
    echo
    "<input type=\"file\" name=\"filevoti\" size=\"30\">";
    echo
    "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"100000\">";
    echo
    "<input type=\"hidden\" name=\"funz\" value=\"due\">";
    echo
    "<br><br><input type=\"submit\" value=\"Invia\"><br><br></td></tr></table><br>";
    break;
    case
    due:
    if(
    $filevoti) {
    print
    "<br><table align=\"center\" class=\"border\" cellpadding=\"20\" bgcolor=\"$sfondo_tab\"><tr><td align=\"left\"><pre>";
    if (
    move_uploaded_file($_FILES['filevoti']['tmp_name'], $dirupload . $_FILES['filevoti']['name'])) {
    print
    "Il file è valido, e inviato con successo. Ecco alcune informazioni:\n";
    print_r($_FILES);
    } else {
    print
    "Possibile attacco tramite file upload! Alcune informazioni:\n";
    print_r($_FILES);
    }
    print
    "</pre></td></tr></table>";
    }
    break;
    }
    echo
    "</td></tr></table><br>";

    }
    # fine if ($_SESSION == "SI")
    else echo"<meta http-equiv=\"refresh\" content=\"0; url=logout.php\">";

    require (
    "./footer.php");
    ?>
    Ultima modifica di funcool : 19-11-2007 alle ore 11.08.21

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Manca la definizione di alcune variabile. Se sono nel file "menu.php", scrivi il codice.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    Guest

    Predefinito

    ciao funcool sempre puntuale come al solito.
    Se ti riferisci alle varaibili $uploaddir e $uploaddir2 si trovano all'interno del file dati.php e sono così dichiarate:


    $uploaddir = "http://acciarello.altervista.org/1.4.6.5-RC1/dati/2007/";
    $uploaddir2 = "http://acciarello.altervista.org/1.4.6.5-RC1/dati/";

    Le variabili dovrebbe essere funzionanti perchè se ne imposto una delle due come directory il file viene spedito tranquillamente!

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Al loro posto prova a mettere:
    Codice PHP:
    $uploaddir = "/membri/acciarello/1.4.6.5-RC1/dati/2007/";
    $uploaddir2 = "/membri/acciarello/1.4.6.5-RC1/dati/";
    Oppure:
    Codice PHP:
    $uploaddir = "/membri2/acciarello/1.4.6.5-RC1/dati/2007/";
    $uploaddir2 = "/membri2/acciarello/1.4.6.5-RC1/dati/";
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  5. #5
    Guest

    Predefinito

    ho provato ma non va lo stesso!!!
    Francamente non riesco proprio a capire il xkè!!!!!
    :-(

  6. #6
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    A $dirupload devi assegnare $_GET['dirupload'].
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  7. #7
    Guest

    Predefinito

    Niente ancora non va!!!
    :-(

  8. #8
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Ma ti dà qualche errore o ti carica semplicemente il file nella root?
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  9. #9
    Guest

    Predefinito

    nessun errore mi manda il file nella directory principale e basta!!! come se non legesse la variabile $dirupload oppure come se le variabili $uploaddir e $uploaddir2 non vengono assegnate alla variabile $dirupload che quindi rimane vuota!!!

  10. #10
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Controlla nel codice HTML quando c'è il form, se quelle variabili vengono stampate correttamente.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  11. #11
    Guest

    Predefinito

    si nel form sono corrette!!!

  12. #12
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Allora il problema è quello che ho scritto qui. Com'è il codice adesso?
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  13. #13
    Guest

    Predefinito

    per essere + chiari te lo riscrivo per intero.
    e le variabili uploaddir sono impostate come mi hai detto.

    Codice PHP:
    $uploaddir = "/membri/acciarello/1.4.6.5-RC1/dati/2007/";
    $uploaddir2 = "/membri/acciarello/1.4.6.5-RC1/dati/";


    Codice PHP:
    <?

    require("./controlla_pass.php");
    require(
    "header.php");

    if (
    $_SESSION['valido'] == "SI" and $_SESSION['permessi'] > 1) {
    require (
    "menu.php");

    if (!
    $funz) {
    $funz = "uno";
    }
    switch (
    $funz) {
    case
    uno:
    echo
    "<br><table width=\"60%\" align=\"center\" class=\"border\" cellpadding=\"10\" bgcolor=\"$sfondo_tab\"><tr><td class=\"testa1\">Funzione upload fileMessaggi</td></tr><tr valign =\"top\"><td align=\"center\"><br><br>Tramite questa funzione viene caricato il file <br>nella cartella <b>$dirupload</b>.<br><br>";


    echo
    " <form method=\"get\" action=\"upload.php\">
    <fieldset>
    <legend>Scegli la destinazione del file</legend>
    <select name=\"dirupload\">
    <option value=\"
    $uploaddir\" selected=\"selected\">$uploaddir </option>
    <option value=\"
    $uploaddir2\">$uploaddir2</option>
    </select>
    </fieldset>
    </form>"
    ;

    echo
    "<form method=\"post\" enctype=\"multipart/form-data\" action=\"upload.php\">";
    echo
    "<input type=\"file\" name=\"filevoti\" size=\"30\">";
    echo
    "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"100000\">";
    echo
    "<input type=\"hidden\" name=\"funz\" value=\"due\">";
    echo
    "<br><br><input type=\"submit\" value=\"Invia\"><br><br></td></tr></table><br>";
    break;
    case
    due:
    if(
    $filevoti) {
    print
    "<br><table align=\"center\" class=\"border\" cellpadding=\"20\" bgcolor=\"$sfondo_tab\"><tr><td align=\"left\"><pre>";
    if (
    move_uploaded_file($_FILES['filevoti']['tmp_name'], $_GET['dirupload'] . $_FILES['filevoti']['name'])) {
    print
    "Il file è valido, e inviato con successo. Ecco alcune informazioni:\n";
    print_r($_FILES);
    } else {
    print
    "Possibile attacco tramite file upload! Alcune informazioni:\n";
    print_r($_FILES);
    }
    print
    "</pre></td></tr></table>";
    }
    break;
    }
    echo
    "</td></tr></table><br>";

    }
    # fine if ($_SESSION == "SI")
    else echo"<meta http-equiv=\"refresh\" content=\"0; url=logout.php\">";

    require (
    "./footer.php");
    ?>
    Ultima modifica di funcool : 19-11-2007 alle ore 12.42.31

  14. #14
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Mi sono accorto solo ora che hai creato due form.
    Modifica:
    Codice PHP:
    echo" <form method=\"get\" action=\"upload.php\">
    <fieldset>
    <legend>Scegli la destinazione del file</legend>
    <select name=\"dirupload\">
    <option value=\"
    $uploaddir\" selected=\"selected\">$uploaddir </option>
    <option value=\"
    $uploaddir2\">$uploaddir2</option>
    </select>
    </fieldset>
    </form>"
    ;

    echo
    "<form method=\"post\" enctype=\"multipart/form-data\" action=\"upload.php\">";
    echo
    "<input type=\"file\" name=\"filevoti\" size=\"30\">";
    echo
    "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"100000\">";
    echo
    "<input type=\"hidden\" name=\"funz\" value=\"due\">";
    echo
    "<br><br><input type=\"submit\" value=\"Invia\"><br><br></td></tr></table><br>";
    Con:
    Codice PHP:
    echo "<form method=\"post\" enctype=\"multipart/form-data\" action=\"upload.php\">
    <fieldset>
    <legend>Scegli la destinazione del file</legend>
    <select name=\"dirupload\">
    <option value=\"
    $uploaddir\" selected=\"selected\">$uploaddir </option>
    <option value=\"
    $uploaddir2\">$uploaddir2</option>
    </select>
    </fieldset>"
    ;

    echo
    "<input type=\"file\" name=\"filevoti\" size=\"30\">";
    echo
    "<input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"100000\">";
    echo
    "<input type=\"hidden\" name=\"funz\" value=\"due\">";
    echo
    "<br><br><input type=\"submit\" value=\"Invia\"><br><br></td></tr></table><br>";
    E dove c'è:
    Codice PHP:
    $_GET['dirupload']
    Metti:
    Codice PHP:
    $_POST['dirupload']
    Sarebbe più corretto se recuperassi anche $funz con $_POST['funz'].
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  15. #15
    Guest

    Predefinito

    ok...ora funziona perfettamente, grazie milleeee!!!!!!

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •