Visualizzazione risultati 1 fino 13 di 13

Discussione: Problema permessi in upload immagini

  1. #1
    Guest

    Predefinito Problema permessi in upload immagini

    Ho creato un form di upload di sole immagini con dimensioni prestabilite, però ogni volta che cerco di uplodare un file contenuto nei limiti impostati ricevo il seguente errore:

    Codice:
    Impossibile spostare il file, controlla l'esistenza o i permessi della directory nella quale effettuare l'upload.
    La directory è impostata e creata giusta...

    A questo punto sospetterei dei permessi, è possibile effettuare l'upload con AV? Se si, potete aiutarmi a risolvere il problema?

    PS: Ho effettuato la ricerca ma non ho trovato nulla che mi soddisfacesse...

    Grazie.

  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

    I permessi di default di AlterVista dovrebbero permettere l'upload.
    Sei sicuro che il problema non sia nel 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

    Posto di seguito il codice:

    File upload.html

    Codice HTML:
    <html>
    <head>
    </head>
    <body>
    Da questo form puoi mettere sul sito un'immagine che poi userai per un tuo scritto.<br> <br> <center>Grazie della collaborazione!</center>
    <br><br>
    <center>
    <form action="upload.php" method="post" enctype="multipart/form-data">
    <input type="file" name="upfile">
    <input type="hidden" name="MAX_FILE_SIZE" value="307200">
    <input type="submit" value="Invia">
    </form>
    </center>
    </body>
    </html>
    File upload.php:

    Codice PHP:
    <?

    if(!isset($_FILES)) $_FILES = $HTTP_POST_FILES;
    if(!isset(
    $_SERVER)) $_SERVER = $HTTP_SERVER_VARS;

    // Directory dove salvare i files Uploadati ( chmod 777, percorso assoluto)

    $upload_dir = $_SERVER["DOCUMENT_ROOT"] . "../articoli/immagini";
    $site_url = 'http://www.softnews.altervista.org/articoli/immagini';

    $new_name = "";

    $file_name = ($new_name) ? $new_name : $_FILES["upfile"]["name"];

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

    die(
    "Non hai selezionato il file da uploadare!");

    }

    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 nella quale effettuare l'upload.");

    } else {

    die(
    "Problemi nell'upload del file " . $_FILES["upfile"]["name"]);

    }

    echo
    "L'upload del file " . $_FILES["upfile"]["name"] . " è avvenuto correttamente, il suo link è il seguente: <br />" . $site_url . $_FILES["upfile"]["name"];

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

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

    }

    ?>

  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

    Questo percorso mi sembra strano:
    Codice PHP:
    $upload_dir = $_SERVER["DOCUMENT_ROOT"] . "../articoli/immagini";
    Se la cartella "immagini" si trova nella cartella "articoli" che a sua volta si trova nella cartella principale del sito, prova a mettere:
    Codice PHP:
    $upload_dir = $_SERVER["DOCUMENT_ROOT"] . "articoli/immagini";
    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

    Restituisce comunque errore...

    Conta che i file che eseguono l'upload risiedono nella cartella articoli

  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

    Allora metti:
    Codice PHP:
    $upload_dir = "immagini";
    Se poi ti dà ancora errore, controlla i permessi della cartella "immagini" con un client FTP.
    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

    Grazie mille, ora l'upload funziona perfettamente, ma c'è ancora un piccolo bug.Cioè che se anche il file non è tra i tipi consentiti prima lo uploada e poi dice che non è consentito, però ormai è sù...

    Codice PHP:
    <?

    // 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)

    $upload_dir = "immagini";
    $site_url = 'http://www.softnews.altervista.org/articoli/immagini';

    // 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(
    "Non hai selezionato il file da uploadare!");

    }

    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 nella quale effettuare l'upload.");

    } else {

    die(
    "Problemi nell'upload del file " . $_FILES["upfile"]["name"]);

    }

    echo
    "L'upload del file " . $_FILES["upfile"]["name"] . " è avvenuto correttamente, il suo link è il seguente: <br />" . $site_url . $_FILES["upfile"]["name"];

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

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

    }

    ?>

  8. #8
    Guest

    Predefinito

    Scusatemi l'intromissione, ma anch'io sono interessato a questo tool, ma vedo che alla prima riga del file upload.php c'è <?, ma non ci doveva stare <?php

    Vorrei sapere.

    Ciao...

  9. #9
    Guest

    Predefinito

    è uguale nn cambia nulla,lo sript funziona cmq
    credo sia una implementazione del php 5,poi nn so!

  10. #10
    L'avatar di seneca
    seneca non è connesso Super Moderatore
    Data registrazione
    18-12-2004
    Residenza
    la Città Eterna
    Messaggi
    8,376

    Predefinito

    Si può scrivere in entrambi i modi, in entrambe le versioni.
    Ciao!


    -- Aut Roma Aut Nihil!

  11. #11
    Guest

    Predefinito

    Ok grazie. Mi trovo meglio con <?php

    Ciao...
    Ultima modifica di heidi52 : 12-01-2008 alle ore 23.34.35

  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

    Devi spostare questo:
    Codice PHP:
    $allowed_types = array("image/gif","image/x-png","image/pjpeg","image/jpeg");
    if(!
    in_array($_FILES["upfile"]["type"],$allowed_types)) {

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

    }
    Prima di questo:
    Codice PHP:
    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 nella quale effettuare l'upload.");

    } else {

    die(
    "Problemi nell'upload del file " . $_FILES["upfile"]["name"]);

    }

    echo
    "L'upload del file " . $_FILES["upfile"]["name"] . " è avvenuto correttamente, il suo link è il seguente: <br />" . $site_url . $_FILES["upfile"]["name"];
    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

    Grazie, mille. Risolto

Regole di scrittura

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