PHP重命名() - 权限被拒绝

ste*_*tef 2 php

可能重复:
PHP函数重命名权限被拒绝

我上传了一个文件,并将其权限更改为0777.fileperms()告诉我"33279"应该等于0777.

为什么我仍然会收到"权限被拒绝"警告?它是文件所有者问题吗?我可以使用chown()修复,不知道所有者应该是谁.

rename(/Users/stefan/Sites/bla/Rachel.png,banner.png) [function.rename]: Permission denied  
Run Code Online (Sandbox Code Playgroud)

不知道如何进一步调试.

编辑:为什么downvote?

Mar*_*c B 7

如果您的代码看起来像

rename('/Users/stefan/Sites/blah/Rachel.png', 'banner.png')
Run Code Online (Sandbox Code Playgroud)

与当前的工作目录是不是该.../blah目录,你想重新命名和移动到任何脚本的当前目录实际上是文件.它将是您没有写权限的目录,导致perm.否认错误.

改为

rename('/Users/stefan/Sites/blah/Rachel.png', '/Users/stefan/Sites/blah/banner.png');
Run Code Online (Sandbox Code Playgroud)

会解决问题,或者

chdir('/Users/stefan/Sites/blah');
rename('Rachel.phg', 'banner.png');
Run Code Online (Sandbox Code Playgroud)