8

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

警告:rename(files/new_file.jpg,../112a/112b/Tech_diz_1.jpg) [function.rename]: Permission denied in ..code/Jpg&Html.php on line 82

有什么解决办法吗?

4

3 回答 3

27

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

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

于 2012-08-02T08:32:49.753 回答
1

你有文件的写权限吗?如果没有,请确保chmod将文件保存到777或至少保存到644.

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

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

<?php
    chmod($uploadedFile, 0755);
?>
于 2012-08-02T08:34:51.010 回答
0

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

于 2012-08-02T08:34:22.963 回答