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

単に画像ファイルをアップロードさせるだけなのですが、何故か出来ません。プログラミングに関しては初心者ですので、どなたかアドバイスをよろしくお願いします。

■アップロードフォーム用の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にしました。かなりハマっていて困っています。回答もしくはアドバイスをどなたかよろしくお願いします。

A 回答 (1件)

if (move_uploaded_file($_FILES['userfile']['tmp_name'], "/image/")) {


↑の行のmove_uploaded_fileの二つ目の引数はフォルダ+ファイル名で指定します。
(ファイル名がtest.txtなら/image/text.txt)
あと、is_uploaded_fileで悪意のあるユーザーが関係ないファイルを勝手に操作しないようにチェックした方がいいですよん。

参考URL:http://php.s3.to/man/function.is-uploaded-file.h …

この回答への補足

修正しましたが、うまく動作してくれません・・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 ) )

補足日時:2005/02/28 21:48
    • good
    • 1
この回答へのお礼

あっ、そうだったんですか・・・わかりました!もうちょっと落ち着いてサンプルなどを見る必要がありますね。すごく初歩的な質問に丁寧に回答してくださいましてありがとうございました!自分では変なツボにハマってしまって・・エラーメッセージではパーミッションディナイって出てるし・・本当に助かりました!!

お礼日時:2005/02/28 20:38

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