Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    10

    Upload e permessi cartella: impossibile scrivere nella cartella

    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



    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)."
    ";
    A questo punto risulta che i permessi della cartella sono 0775!
    Il che fa poi fallire la scrittura.

    Nella funzione upload ho poi messo:

    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; }
    Qui nuovamente i permessi sono a 0775, nel momento dell'echo, col risultato che il documento non viene spostato.
    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

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    10
    Pare il problema sia dovuto a safe_mode attivato.
    Sto provando con un altro gestore dove safe mode è disattivo, e il tutto sembra funzionare, anche se devo lasciare in giro una cartella con 0777...

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2009
    Messaggi
    10
    Ok, il codice che ho usato dovrebbe essere corretto, cambio i permessi della cartella contenitore a 0777 prima di creare la sottocartella e copiarci il documento, poi cambio nuovamente i permessi.
    Il problema dipendeva dal fatto che non potevo usare chmod sulla cartella contenitore perché l'avevo creata da ftp. Creandola con php, mette il codice come proprietario della cartella e non ho nessun problema.
    Saluti.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.