2012-08-02 18 views
7

Na serwerze skrypt tworzy nowy folder, ustawia chmod na 0777, ale wtedy próbuje przenieść pliki do tego folderu, pojawia się błąd: Odmowa uprawnień.Funkcja PHP Zmień nazwę Odmowa uprawnień

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

Wszelkie rozwiązania?

Odpowiedz

22

musisz również mieć uprawnienia do odczytu i zapisu w folderze źródłowym.

tylko posiadanie uprawnień do folderu docelowego nie jest wystarczające, ponieważ plik jest usuwany z jego źródła.

0

Należy również mieć pozwolenie na zmianę pliku "files/".$failai[$i].".jpg". Zgaduję, że to się nie zgadza

0

Czy masz prawo zapisu do pliku? Jeśli nie, upewnij się, że plik plik do 777 lub co najmniej do 644.

Sprawdź również istnienie pliku, podając nazwę pliku file_exists() przed zmianą nazwy. :)

Po przeniesieniu pliku może być konieczne ustawienie uprawnień przy użyciu chmod(), aby udostępnić go do zmiany nazwy. Możesz to zrobić w następujący sposób:

<?php 
    chmod($uploadedFile, 0755); 
?> 
Powiązane problemy