※ ChatGPTを利用し、要約された質問です(原文:ファイルのアップロードがどうしても出来ません。)
ファイルのアップロードができない理由と解決方法
このQ&Aのポイント
ファイルのアップロードができない問題についてのアドバイスをお願いします。
画像ファイルのアップロードを行いたいが、初心者のためうまくいかない。
パーミッションを変更してもファイルのアップロードができない。対処方法を教えてください。
単に画像ファイルをアップロードさせるだけなのですが、何故か出来ません。プログラミングに関しては初心者ですので、どなたかアドバイスをよろしくお願いします。
■アップロードフォーム用のHTMLファイルです↓ ファイル名=gazou_upload.html
<html>
<head>
<title>ファイルのアップロード</title>
</head>
<body>
<form method="POST" action="gazou_upload.php" enctype="multipart/form-data">
<input type="hidden" name="max_file_size" value="1000000" >
<input type="file" name="userfile"><br><br>
<input type="submit" value="アップロード">
</body>
</html>
■受け取ったファイルをサーバ上のディレクトリに移動するPHPファイルです↓ ファイル名=gazou_upload.php
<?php
if (move_uploaded_file($_FILES['userfile']['tmp_name'], "/image/")) {
print "ファイルアップロード成功";
print_r($_FILES);
} else {
print "ファイルアップロード失敗"."<br>";
print_r($_FILES);
}
?>
■ファイルを保存するディレクトリ
上のファイルと同じ階層で フォルダ名が image
パーミッションは3つとも 707 にしました。
パーミッションが拒否されたというメッセージだと思うので、パーミッションを変更したのですがダメでした・・ちなみにサーバはロリポップを使っていて、777と666はエラーになると注意書きがあったので、707にしました。かなりハマっていて困っています。回答もしくはアドバイスをどなたかよろしくお願いします。
お礼
あっ、そうだったんですか・・・わかりました!もうちょっと落ち着いてサンプルなどを見る必要がありますね。すごく初歩的な質問に丁寧に回答してくださいましてありがとうございました!自分では変なツボにハマってしまって・・エラーメッセージではパーミッションディナイって出てるし・・本当に助かりました!!
補足
修正しましたが、うまく動作してくれません・・2時間試行錯誤したのですが・・どなたか助言をお願いします。。 以下が修正したgazou_upload.phpのファイルです。 <?php // アップロード先ディレクトリ+ファイル名の指定 $uploaddir = '/image/'; $uploadfile = $uploaddir. $_FILES['userfile']['name']; if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { print "ファイルアップロード成功"; print_r($_FILES); } else { print "ファイルアップロード失敗"."<br>"; print_r($_FILES); } ?> ■結果 Warning: move_uploaded_file(/image/P1010851.jpg): failed to open stream: No such file or directory in /home/sites/lolipop.jp/users/**********/web/gazou_upload.php on line 8 Warning: move_uploaded_file(): Unable to move '/tmp/phpuqa8g2' to '/image/P1010851.jpg' in /home/sites/lolipop.jp/users/***********/web/gazou_upload.php on line 8 ファイルアップロード失敗 Array ( [userfile] => Array ( [name] => P1010851.jpg [type] => image/pjpeg [tmp_name] => /tmp/phpuqa8g2 [error] => 0 [size] => 84509 ) )