PHP Function Rename Permission denied

2019-02-13 13:24发布

问题:

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?

回答1:

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.



回答2:

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



回答3:

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);
?>