こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

ファイルのアップロードがどうしても出来ません。

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

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

投稿日時 - 2005-02-28 19:07:11

QNo.1243362

すぐに回答ほしいです

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

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.html

投稿日時 - 2005-02-28 20:06:53

補足

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

お礼

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

投稿日時 - 2005-02-28 20:38:50

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問