dポイントプレゼントキャンペーン実施中!

PHP初心者です。画像のアップロード機能を作成中です。

$path="/home/○○○/public_html/admin/w/p/5.jpg"
move_uploaded_file($_FILES[MAINPHOTO]['tmp_name'], $path)
で画像をアップしようとしたところ、次のエラーが出ます。

Warning: move_uploaded_file(/home/○○○/public_html/admin/w/p/5.jpg) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/○○○/public_html/admin/aaa.php on line 125

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phptC2x2A' to '/home/○○○/public_html/admin/w/p/5.jpg' in /home/○○○/public_html/admin/aaa.php on line 125

ローカルのadmin以下にw/pフォルダはきちんとあります。そこに5.jpgは存在してません。またアップする画像は別名です。
phpは4.2を使用しています。
サーバーはレンタルのkagoya.netを使用しています。

分かりやすい説明よろしくお願いします。

A 回答 (1件)

こんにちは。



Unix/Linux のスキルはございますか?
ファイルやディレクトリ (Windows で言うフォルダ) には、全て「権限」というものがございます。

吐かれたエラーメッセージを見てみましょう。

... : Permission denied in /home/○○○/public_html/admin/aaa.php on line 125

... aaa.php の 125行目の処理で、許可されていない事が原因でエラーとなっています。
画像をアップするディレクトリに、Web サーバプログラム (apache でしょうか…) がファイルを書き込むことができるよう、権限を与えてあげれば解決します。

PHP のソースコードをサーバにアップする際、FTP などでアップしていると思いますが、そのツールで画像保存用のディレクトリに書き込み権限を与えてあげることができるでしょう。
    • good
    • 0
この回答へのお礼

FTPでフォルダの権限を変更するとできました。
ありがとうございました。

お礼日時:2007/10/13 02:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!