web-dev-qa-db-ja.com

PHP:move_uploaded_file():移動できません '/

セットアップしたばかりの新しいサーバーでこのエラーが発生し続ける

[Wed Feb 16 22:46:51 2011] [error] [client 71.1.236.114] PHP Warning:  
move_uploaded_file(upload/110216104651_00134_smooth_1440x900.jpg): 
failed to open stream: Permission denied in /var/www/admin/_application/models/Roles.model on line 1757, 
referer: http://nacc.biz/admin/admin/modifyarticle.php?roleid=4
[Wed Feb 16 22:46:51 2011] [error] [client 71.1.236.114] PHP Warning:  move_uploaded_file():
Unable to move '/tmp/php6wlOg1' to    'upload/110216104651_00134_smooth_1440x900.jpg' 
in /var/www/admin/_application/models/Roles.model on line 1757, referer:
http://nacc.biz/admin/admin/modifyarticle.php?roleid=4
[Wed Feb 16 22:46:51 2011] [error] [client 71.1.236.114] PHP Notice:  
Upload Error: Error moving from temp dir in /var/www/admin/_application/models/Roles.model on line 1759,
referer: http://nacc.biz/admin/admin/modifyarticle.php?roleid=4

777を追加し、アップロードディレクトリを作成しましたが、エラーは続きます。修正または作成する必要があるパスを見つけるにはどうすればよいですか?

16
Matt Elhotiby

upload/の所有者をwww-data:www-dataに変更し、chmodを755に変更します

19
teecee

upload/の場所がわからないようです。ステートメントに完全なパスがあることを確認してください。たとえば、アップロードディレクトリが実際に/var/uploadにある場合は、upload /だけでなく、ステートメント内にあることを確認してください。

10
pioniere

FTPにログインして、次のことを確認します。

  • フォルダーが存在します。スペルを確認してください
  • フォルダーのプロパティを確認し、アクセス許可に読み取り+書き込み0666があることを確認します
  • ファイルがパブリックHTMLルート内にあることを確認してください。そうでない場合は、ファイルの所有者を再確認し、PHP読み取り/書き込みアクセス権があることを確認してください。

ログを見る:

Unable to move '/tmp/php6wlOg1' to    'upload/110216104651_00134_smooth_1440x900.jpg' 

upload/110216....としてあなたのルートディレクトリを見るとpath.to/public_html/upload/110216....であるはずです

上記のいずれも機能しない場合は、move_uploaded_fileがオンになっているコード行を投稿してください。

8
RobertPitt

ファイルをupload/ではなくuploads/に移動しようとしています。ディレクトリが存在し、書き込み可能であることを確認してください。

3
meagar