PHP函数重命名权限被拒绝

时间:2012-08-02 08:30:03

标签: php permissions rename

在服务器中,脚本创建新文件夹,将chmod设置为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");
  

警告:重命名(files / new_file.jpg,.. / 112a / 112b / Tech_diz_1.jpg)[function.rename]:第82行的..code / Jpg& Html.php中的权限被拒绝

任何解决方案?

3 个答案:

答案 0 :(得分:22)

你也需要在源文件夹中拥有读写权限。

仅具有目标文件夹的权限是不够的,因为文件已从其源中删除。

答案 1 :(得分:0)

您还应该有权更改文件"files/".$failai[$i].".jpg"。我猜这是错误的

答案 2 :(得分:0)

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

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

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

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