PHP Function Rename Permission denied

2019-02-13 13:44发布

In server, script create new folder, set chmod to 0777, but then it tryes to move files to that folder i get error: Permission denied.

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

Any solutions?

3条回答
爱情/是我丢掉的垃圾
2楼-- · 2019-02-13 13:57

Do you have the write access to the file? If not, make sure you chmod the file to 777 or at least to 644.

Also, check the existence of the file by giving a file_exists() on the file name before you rename. :)

Also, after moving file, you might need to set the permissions using chmod() to make it available for renaming. You can do it this way:

<?php
    chmod($uploadedFile, 0755);
?>
查看更多
Deceive 欺骗
3楼-- · 2019-02-13 14:14

you'll need to have read and write permissions in the source folder, too.

only having permissions for the target-folder isn't enough as the file is removed from it's source.

查看更多
爱情/是我丢掉的垃圾
4楼-- · 2019-02-13 14:18

You should also have permission to change the file "files/".$failai[$i].".jpg". I would guess that that is going wrong

查看更多
登录 后发表回答