- Home
- Categorie
- Coding e Sistemistica
- PHP
- Upload da mal di testa
-
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 quielseif(!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
-
[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 **116Warning: 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!**********
-
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?
-
hai impostato i permessi di scrittura sulla cartella di destinazione?
-
Sono in remoto, mi hosta aruba e la cartella di destinazione è 777
-
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.
-
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
-
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.