• User Attivo

    Upload da mal di testa

    Salve a tutti voi di GT, è da un po' che non vengo in questo forum ma devo dire che mi sono sempre trovato bene :D.
    Ho un problema, devo caricare un'immagine in un sito tramite un formulario, ma dà errore.

    [PHP] $cartella_upload ="/images/sfondibiglietti/";
    $nome_file = $FILES["upload"]["name"];
    //echo $nome_file;
    $estensione_file = estensione($nome_file); #funzione che non vi ho scritto che trova l'estensione
    $nome_file = uniqid(img
    ).".".$estensione_file;
    if(isset($_FILES["upload"]))
    { if()
    { #[...] }
    elseif(!is_dir("..".$cartella_upload))
    { echo 'La cartella in cui si desidera salvare il file non esiste!'; }
    #ora, ho dovuto aggiungere quel ".." altrimenti dava errore, eppure DOVREBBE andare con "/images/eccecc"

    elseif(!is_writable("..".$cartella_upload)) { echo "La cartella in cui fare l'upload non ha i permessi!"; }
    #idem qui

    elseif(!move_uploaded_file($_FILES["upload"]["tmp_name"], $cartella_upload.$nome_file))
    { echo 'Ops qualcosa è andato storto nella procedura di upload!'; }
    else { #[...]eccetera [/PHP]

    Oltre al "[...]", quello che non capisco è cosa devo settare per far salvare l'immagine uppata, infatti nell'ultimo "elseif" ci cade sempre, e l'immagine non è presente nel server remoto.

    La cosa ancora più strana è che questa è una funzione che avevo già usato in precedenza in altri progetti, e funzionava!

    Non so più dove sbattere la testa, ma sono sicuro che l'errore che ho fatto è palese e da niubbo xD


  • User Attivo

    [PHP]elseif(!move_uploaded_file($_FILES["upload"]["tmp_name"], "sfondi_biglietti/img1.png"))
    { echo 'Ops qualcosa è andato storto nella procedura di upload!';}
    [/PHP]

    Anche solo scrivendo questo dà errore, l'errore è:
    Warning: move_uploaded_file(sfondi_biglietti/img1.png): failed to open stream: Permission denied in XXXXX on line **116

    Warning: move_uploaded_file(): Unable to move ' YYY' to 'sfondi_biglietti/img1.png' in XXXXX on line 116
    Ops qualcosa è andato storto nella procedura di upload!
    **********


  • ModSenior

    Ciao meis,
    non hai i permessi di scrittura nella cartella, per cui non può fare l'upload.
    Stai provando in locale o su un hosting?


  • User

    hai impostato i permessi di scrittura sulla cartella di destinazione?


  • User Attivo

    Sono in remoto, mi hosta aruba e la cartella di destinazione è 777


  • ModSenior

    Aruba concede i permessi di scrittura solo nella cartella public da quanto ne sò io, ti conviene far fare l'upload in quella cartella per non avere problemi.


  • User Attivo

    FUNZIONA!!! grazie, ma non c'è un modo di rinominare quella cartella? Non è un problema tanto grave, ma, sai com'è, preferirei chiamarla images.. o qualcosa del genere


  • ModSenior

    Dal pannello amministrazione del tuo piano hosting mi sembra ci sia la voce relativa ai permessi delle cartelle, prova a vedere da li se ti fanno modificare i permessi.