permessi upload

Ho finalmente preso uno spazio web dove poter fare le mie prove; purtroppo già da subito ho un problema non riesco ad fare l'upoload dei file, di tutte le estenzioni, ricevendo il seguente messaggio: "Impossibile spostare il file, controlla l'esistenza o i permessi della directory dove fare l'upload".

Faccio presente che ho settato i permessi della directory a 777.

Dove posso cercare l'errore?

grazie giovanni

inviato 10 anni fa
bonann23
X 0 X

Domande di rito:

1 - hai controllato che il vile venga veramente caricato?

2 - hai controllato che i percorsi siano corretti?

risposto 10 anni fa
LonelyWolf
X 0 X

Per quanto riguarda i percorsi ho già controllato e sono corretti; mentre non sò cosa sia il"vile", puoi spiegarmelo?

grazie

giovanni

risposto 10 anni fa
bonann23
X 0 X

Scusa è un errore di battitura! il file

risposto 10 anni fa
LonelyWolf
X 0 X

Riporta la parte di script che utilizzi per effettuare l'upload.  :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Ecco il codice che utilizzo:

$upload_dir=$_SERVER["DOCUMENT_ROOT"]."/tvs/images/modelli_small";         
               $new_name = $_POST["modello"].".jpg";   


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

     if(trim($_FILES["upfile"]["name"]) == "") {
              die("Non hai indicato 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 zz spostare il file, controlla l'esistenza o i permessi della directory
    dove fare l'upload.");
     } else {
    die("Problemi nell'upload del file " . $_FILES["upfile"]["name"]);
     }

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

Grazie Giovanni

risposto 10 anni fa
bonann23
X 0 X

ma in definitiva per avere i diritti d'accesso ad una cartella (scrittura-lettura-eliminazione) basta settare dal "OnLineFilemanager" i CHMOD 777? o si deve fare qualcjhe altra operazione on line?

grazie

Giovanni

risposto 10 anni fa
bonann23
X 0 X

Se puoi togli la @ da move_uploaded_file, così vedi l'errore "reale", forse rende più facile risalire al problema.

Dallo script vedo che il controllo che il file sia caricato esiste.

La cartella modelli_small è 777 l'hai verificato.

In un caso mi è capitato che mettere _ nel percorso impediva la corretta esecuzione di uno script, non saprei se è anche il tuo caso.

risposto 10 anni fa
LonelyWolf
X 0 X

se puoi, assegna i permessi da un client FTP, in modo da poter verificare poi l'operazione.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

Potresti dirmi dove posso aggiornami su quanto mi hai consigliato?

Grazie

Giovanni

risposto 10 anni fa
bonann23
X 0 X

Non usi un client FTP per accedere al tuo spazio web? Ce ne sono molti, alcuni gratuiti come SmartFTP.

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X

ok, ho settato tutti i permessi delle cartelle a cui accedo al parametro  "CHMOD 777", adesso gli upload vanno benissimo. Non riesco, però, a capire perchè in uno spazio web con i permessi settati a "CHMOD 755" posso fare gli upload; mentre in un'altro ho bisogno di settarli a "CHMOD 777", è possibile che questi dipendono dal sistema operativo?

Se la risposta è positiva come devo dare i permessi utilizzando un S.O. linux?

Grazie

Giovanni

risposto 10 anni fa
bonann23
X 0 X

E' una questione legata al funzionamento dei permessi in Linux. Senza farla troppo lunga i permessi concedono dei privilegi distinti per il proprietario del file (o della cartella), per il gruppo proprietario del file e per "il resto del mondo".

Quindi è necessario capire quale utente si sta confrontando questi permessi. PHP gira quasi sempre come utente "Apache" quindi se Apache è il proprietario della cartella allora 755 è più che sufficiente. Se invece la cartella è stata creata via FTP, probabilmente il proprietario è "FTP" e quindi "Apache" potrebbe appartenere al "resto del mondo" per cui serve un 777

 :bye:

risposto 10 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda