• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Linuxで画像がアップロードできない)

Linuxで画像がアップロードできない

このQ&Aのポイント
  • Linuxで構築中のサーバーで画像のアップロードができません。WindowsではXAMPP1.7.3を使用していたが、LinuxではXAMPP for Linux1.7.4を使用しています。
  • Windowsでは表示されなかったエラーが表示されます。move_uploaded_file関数でファイルを移動できずにエラーが発生しています。
  • php.iniの設定やapacheのユーザ権限の設定を確認しても、画像のアップロードができない原因がわかりません。

質問者が選んだベストアンサー

  • ベストアンサー
  • mtaka2
  • ベストアンサー率73% (867/1179)
回答No.1

> ●Warning: move_uploaded_file(./book_picture/digi.jpg) [function.move-uploaded-file]: failed to open stream: 許可がありません in /opt/lampp/htdocs/sample23.php on line 24 このメッセージからすると、文字通り > apacheを実行しているユーザで書き込みできなくなっているのでしょうか? が原因でしょう。 WWWサーバ(apache)は、「ユーザー apache」の権限で動いています。 ですから、そのWWWサーバの元で動くPHPプログラムからファイルを作成(書き込み)を行うためには、 ディレクトリ 「book_picture」は「ユーザー apache」が書き込むことができるようにしなければなりません。 (Windows の場合、デフォルトのパーミッション設定では書き込めるようになっているため、問題になりませんが、 UNIX系OSでは、デフォルトではディレクトリの所有者以外の権限ではファイルの書き込みが出来なくなっているのが普通です) 方法は2択 ・ディレクトリ「book_picture」の所有者を apache にする ・ディレクトリ「book_picture」のパーミッションを777にする このどちらかの設定をすればいけます。

shorinji36
質問者

お礼

回答有難うございます。 ディレクトリ「book_picture」のパーミッションを777を設定し無事アップロードできました。

関連するQ&A