Salve,
nel mio sito ho una sezione in cui l'utente può creare un progetto, che richiede l'inserimento di 3 documenti, in sequenza.
Il progetto viene realizzato tramite una procedura guidata articolata su piú pagine.
I documenti dovrebbero essere salvati in una cartella che ha per nome l'id del progetto, che creo durante il processo.
Ovvero:
pagina 1 - crea la cartella ID e scrivici il primo documento
pagina 2 - scrivi il secondo documento nella cartella ID
pagina 3- scrivi il terzo documento nella cartella ID
A questo punto risulta che i permessi della cartella sono 0775!if (!mkdir($dir, 0777)) {
echo "Impossibile creare la cartella di destinazione.";
mysql_close($conn); return FALSE; }
echo "Ho creato la cartella :".$dir."
I permessi sono: ".substr(sprintf('%o', fileperms($dir)), -4)."
";
Il che fa poi fallire la scrittura.
Nella funzione upload ho poi messo:
Qui nuovamente i permessi sono a 0775, nel momento dell'echo, col risultato che il documento non viene spostato.if (!chmod($dir, 0777)) { $e=-3; }else {$e=0;} echo "
Adesso verifico i permessi della cartella: ".substr(sprintf('%o', fileperms($dir)), -4)."
";*/ if (move_uploaded_file($_FILES[$file]['tmp_name'],$target)) { chmod($dir, 0775); return 1; } else { chmod($dir, 0775); return -1-$e; }
La cosa piú stramba di tutte è che prima, almeno la fase 1 funzionava (creava la cartella, e ci scriveva il primo documento), adesso non va piú, senza che abbia modificato nulla (almeno, non coscientemente), a parte la modifica manuale dei permessi (che comunque ho inserito in seguito tentando di modificare l'errore).
Puó dipendere dai permessi della cartella contenitore? Se sí, come dovrei impostarli? O che altro puó essere?
Grazie a chi vorrá rispondere