2012-08-02 41 views
7

在服務器中,腳本創建新文件夾,將chmod設置爲0777,但它試圖將文件移動到該文件夾​​,我得到錯誤:權限被拒絕。PHP函數重命名權限被拒絕

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

任何解決方案?

回答

22

您還需要在源文件夾中具有讀寫權限。

只有目標文件夾的權限是遠遠不夠的,因爲該文件已從源代碼中刪除。

0

您還應該有權更改文件"files/".$failai[$i].".jpg"。我想這是錯誤的

0

你有文件的寫入權限嗎?如果沒有,請確保您將chmod的文件保存到777或至少644

另外,在重命名之前,通過在文件名上給出file_exists()來檢查文件是否存在。 :)

此外,移動文件後,您可能需要使用chmod()來設置權限以使其可用於重命名。你可以這樣做:

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