2012-08-02 3 views
7

In Server, Skript erstellen neuer Ordner, setzen Sie chmod auf 0777, aber dann versucht es, Dateien in diesen Ordner zu verschieben, bekomme ich Fehler: Berechtigung verweigert.PHP-Funktion Rename Permission verweigert

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

Irgendwelche Lösungen?

Antwort

22

Sie müssen Lese- und Schreibrechte auch im Quellordner haben.

Nur die Berechtigungen für den Zielordner sind nicht ausreichend, da die Datei aus der Quelle entfernt wird.

0

Sie sollten auch berechtigt sein, die Datei "files/".$failai[$i].".jpg" zu ändern. Ich würde vermuten, dass das schief geht

0

Haben Sie den Schreibzugriff auf die Datei? Wenn nicht, stellen Sie sicher, dass Sie chmod die Datei zu 777 oder mindestens 644.

Überprüfen Sie auch das Vorhandensein der Datei, indem Sie vor dem Umbenennen einen file_exists() für den Dateinamen angeben. :)

Auch nach dem Verschieben der Datei müssen Sie möglicherweise die Berechtigungen mit chmod() festlegen, um es für die Umbenennung verfügbar zu machen. Sie können es auf diese Weise tun:

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