Visualizzazione risultati 1 fino 7 di 7

Discussione: Problema upload

  1. #1
    Guest

    Predefinito Problema upload

    Salve, ho un prblema con l'upload. Io ho questo codice, ma ogni volta mi dice "Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.". In av vanno modificati dei permessi oppure c'è qualche errore nel codice? Grazie mille!



    Codice PHP:
    <?php
    switch ($_GET['set']) {
    case
    "ok":
    // QUESTE RIGHE RENDONO LO SCRIPT COMPATIBILE CON LE VERSIONI DI PHP PRECEDENTI ALLA 4.1.0
    if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
    if(!isset(
    $_SERVER)) $_SERVER = $HTTP_SERVER_VARS;

    /********************* VARIABILI DA SETTARE ********************/
    // Directory dove salvare i files Uploadati ( chmod 777, percorso assoluto)
    $id = $_GET['id'];
    $upload_dir = $_SERVER["DOCUMENT_ROOT"] . "/immagini/$id";

    // Eventuale nuovo nome da dare al file uploadato
    $new_name = "";

    // Se $new_name è vuota, il nome sarà lo stesso del file uploadato
    $file_name = ($new_name) ? $new_name : $_FILES["upfile"]["name"];

    if(
    trim($_FILES["upfile"]["name"]) == "") {

    die(
    "Nessun file selezionato!");

    }

    if(@
    is_uploaded_file($_FILES["upfile"]["tmp_name"])) {

    @
    move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$file_name")
    or die(
    "Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.");

    } else {

    die(
    "Si sono verificati problemi nell'upload del file " . $_FILES["upfile"]["name"]);

    }

    $allowed_types = array("image/jpeg");
    if(!
    in_array($_FILES["upfile"]["type"],$allowed_types)) {

    die(
    "Il file non è di un tipo consentito, sono ammessi solo i seguenti: " . implode(",", $allowed_types) . ".");

    }

    echo
    "L'upload del file " . $_FILES["upfile"]["name"] . " è avvenuto correttamente";

    break;
    }
    ?>
    <form action="index.php?pag=all&action=upload&id=1&set=ok" method="POST" enctype="multipart/form-data">
    <input type="file" name="upfile">
    <input type="submit" value="Invia il file">
    </form>

  2. #2
    Guest

    Predefinito

    ti conviene impostare manualmente la directory senza mettere $_SERVER["DOCUMENT_ROOT"]

  3. #3
    Guest

    Predefinito

    Niente, non è cambiato nulla!

  4. #4
    Guest

    Predefinito

    ah, il problema é che non crei la cartella corrispondente a $id, quindi non puoi spostarci nulla, visto che non esiste, il codice quindi deve essere:
    Codice PHP:
    <html>
    <head>
    <title>Prova</title>
    </head>
    <body>
    <?php
    switch ($_GET['set']) {
    case
    "ok":
    // QUESTE RIGHE RENDONO LO SCRIPT COMPATIBILE CON LE VERSIONI DI PHP PRECEDENTI ALLA 4.1.0
    if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
    if(!isset(
    $_SERVER)) $_SERVER = $HTTP_SERVER_VARS;

    /********************* VARIABILI DA SETTARE ********************/
    // Directory dove salvare i files Uploadati ( chmod 777, percorso assoluto)
    $id = $_GET['id'];
    $upload_dir = "immagini/$id";
    mkdir($upload_dir,0777);

    // Eventuale nuovo nome da dare al file uploadato
    $new_name = "";

    // Se $new_name è vuota, il nome sarà lo stesso del file uploadato
    $file_name = ($new_name) ? $new_name : $_FILES["upfile"]["name"];

    if(
    trim($_FILES["upfile"]["name"]) == "") {

    die(
    "Nessun file selezionato!");

    }

    if(@
    is_uploaded_file($_FILES["upfile"]["tmp_name"])) {

    @
    move_uploaded_file($_FILES["upfile"]["tmp_name"], "$upload_dir/$file_name")
    or die(
    "Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload.");

    } else {

    die(
    "Si sono verificati problemi nell'upload del file " . $_FILES["upfile"]["name"]);

    }

    $allowed_types = array("image/png");
    if(!
    in_array($_FILES["upfile"]["type"],$allowed_types)) {

    die(
    "Il file non è di un tipo consentito, sono ammessi solo i seguenti: " . implode(",", $allowed_types) . ".");

    }

    echo
    "L'upload del file " . $_FILES["upfile"]["name"] . " è avvenuto correttamente";

    break;
    }
    ?>
    <form action="index.php?pag=all&action=upload&id=1&set=ok" method="POST" enctype="multipart/form-data">
    <input type="file" name="upfile">
    <input type="submit" value="Invia il file">
    </form>
    </body>
    </html>
    aggiungeno mkdir ti crea la cartella
    Ultima modifica di worldpixel : 23-06-2010 alle ore 12.02.40

  5. #5
    Guest

    Predefinito

    No, la cartella l'avevo precedentemente creat, comunque ho risolto!

  6. #6
    Guest

    Predefinito

    come???
    Facci sapere, ho il solito problema.. :D

  7. #7
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,686

    Predefinito

    dal #5 ho capito che la cartella non esisteva... in pratica, devi creare la cartella /immagini/

    Ciao!

Regole di scrittura

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