2012-08-02 24 views
7

Nel server, lo script crea una nuova cartella, imposta chmod su 0777, ma poi tenta di spostare i file in quella cartella ottengo errore: Autorizzazione negata.Funzione PHP Rinomina Autorizzazione negata

mkdir("../".$new_1, 0777); 
chmod("../".$new_1, 0777); 

mkdir("../".$new_1."/".$new_2, 0777); 
chmod("../".$new_1."/".$new_2, 0777); 

rename("files/".$failai[$i].".jpg", "../".$new_1.'/'.$new_2."/".$failai[$i].".jpg"); 

Warning: rename(files/new_file.jpg,../112a/112b/Tech_diz_1.jpg) [function.rename]: Permission denied in ..code/Jpg&Html.php on line 82

Eventuali soluzioni?

risposta

22

è necessario disporre anche delle autorizzazioni di lettura e scrittura nella cartella di origine.

solo disporre delle autorizzazioni per la cartella di destinazione non è sufficiente in quanto il file viene rimosso dalla sua origine.

0

È inoltre necessario disporre dell'autorizzazione per modificare il file "files/".$failai[$i].".jpg". Direi che sta andando storto

0

Hai l'accesso in scrittura al file? In caso contrario, assicurati di portare il file a 777 o almeno a 644 nel chmod.

Verificare inoltre l'esistenza del file dando un file_exists() al nome del file prima di rinominare. :)

Inoltre, dopo aver spostato il file, potrebbe essere necessario impostare le autorizzazioni utilizzando chmod() per renderlo disponibile per la ridenominazione. Puoi farlo in questo modo:

<?php 
    chmod($uploadedFile, 0755); 
?> 
Problemi correlati