PHP函数重命名权限被拒绝

8
在服务器上,脚本创建了一个新文件夹,并将其权限设置为0777,但当它尝试把文件移动到该文件夹时,出现了“权限被拒绝”的错误。
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");

警告:rename(files/new_file.jpg,../112a/112b/Tech_diz_1.jpg)[function.rename]:在..code/Jpg&Html.php的第82行拒绝许可

有什么解决方案吗?

3个回答

27

您还需要在源文件夹中拥有读写权限。

仅拥有目标文件夹的权限是不够的,因为该文件将从其源位置删除。


1

您是否拥有该文件的写入权限?如果没有,请确保将文件的chmod设置为777或至少644

此外,在重命名之前,通过对文件名进行file_exists()检查来检查文件是否存在。 :)

另外,在移动文件后,您可能需要使用chmod()设置权限以使其可用于重命名。您可以这样做:

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

0

您还应该有更改文件"files/".$failai[$i].".jpg"的权限。我猜这可能出了问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接