2012-10-08 208 views
1

可能重複:
PHP Function Rename Permission deniedPHP重命名() - 權限被拒絕

我上傳一個文件,並改變它的權限,以0777一fileperms()告訴我: 「33279」,這應該等於0777.

爲什麼我仍然收到「權限被拒絕」警告?它是一個文件所有者的問題?我可以使用chown()來修復不知道所有者應該是誰的情況。

rename(/Users/stefan/Sites/bla/Rachel.png,banner.png) [function.rename]: Permission denied 

不知道如何進一步調試。

編輯:爲什麼downvote?

+4

您需要的目錄,而不是文件的寫權限。 (你不改變文件內容,你改變「目錄內容」,因爲它) – Leigh

+0

*「爲什麼downvote」* - 不是我,但這可能是爲什麼http://stackoverflow.com/search?q = PHP +重命名%28%29 + - +權限+否認 –

回答

5

如果你的代碼看起來像

rename('/Users/stefan/Sites/blah/Rachel.png', 'banner.png') 

當前的工作目錄是.../blah目錄,你想重新命名文件實際移動到任何腳本的當前目錄是。這將是你沒有寫入權限的目錄,導致燙髮。否認錯誤。

更改爲

rename('/Users/stefan/Sites/blah/Rachel.png', '/Users/stefan/Sites/blah/banner.png'); 

可以解決這個問題,或者

chdir('/Users/stefan/Sites/blah'); 
rename('Rachel.phg', 'banner.png');