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

解決済みの質問

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

■アップロードフォーム用の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
// アップロード先ディレクトリ+ファイル名の指定
$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 22:46:23

QNo.1243793

すぐに回答ほしいです

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

ちゃんとできるまで、前の質問を閉じなければ良かったかもしれませんね。

$uploaddir = '/image/';

これではサーバールートからの指定になるので、ディレクトリ指定が間違っているのだと思います。どこにgazou_upload.phpが置かれているか分からないのですが、例えば./image/などですね。

これは厳密にはphpの問題ではないのです。サーバーのディレクトリ指定を勉強してみてください。

投稿日時 - 2005-03-01 03:25:05

お礼

回答ありがとうございます。おっしゃる通りディレクトリ指定の間違いでした。./image/にしたところ正常に動作しました。初心者なのでもう少し基本的な知識を身につけないとダメですね。もう一度ディレクトリ指定の勉強をしなおします。ありがとうございました。

投稿日時 - 2005-03-01 13:05:17

ANo.1

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

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

回答(2)

$updir = $_SERVER['DOCUMENT_ROOT'].'/image/';
$upfile = $updir. $_FILES['userfile']['name'];

if(move_uploaded_file($_FILES['userfile']['tmp_name'], $upfile)) {
print "ファイルアップロード成功";
print_r($_FILES);
} else {
print "ファイルアップロード失敗"."<br>";
print_r($_FILES);
}

投稿日時 - 2005-03-01 03:49:17

あなたにオススメの質問