2012-08-02 38 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); 
?>