重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

任意の画像ファイルをHTMLフォームで入力して
登録確認画面に渡した後、ファイルをアップロード
したいのですが上手くいきません。

・フォーム入力ページ
<FORM action="登録確認ページ.php" method="POST" enctype="multipart/form-data">
<INPUT type="file" name="uploadfile" size="50">
<INPUT type="submit" name="reg" value="OK">

・登録確認ページ
$uploadfile = $_FILES['uploadfile'];
move_uploaded_file($uploadfile, "$PHOTOTMP$imagefile");
$body .= "<IMG src='$PHOTOTMP$imagefile' width='240' height='180'>";

として、登録確認ページでアップロードする
画像ファイルをいったん表示させてから
最終的にアップロードさせたいのですが
「×」マークが出て画像が表示されません。

データの受け渡しが上手くできていないのでしょうか。
どなたか教えて下さい。よろしくお願いします。

A 回答 (3件)

move_uploaded_file($uploadfile['tmp_name'], "$PHOTOTMP$imagefile");


ではないでしょうか
    • good
    • 0
この回答へのお礼

php504さんのご回答を参考にいろいろ試させて頂きました。

$PHOTOTMP には "phototmp/" を代入していたのですが、
どうも $PHOTOTMP$imagefile そのままのパスに
移動させようとしていたようで、下記のように区切って指定したら上手く行きました。
ありがとうございました。

move_uploaded_file($uploadfile['tmp_name'], "phototmp/"."$imagefile");

お礼日時:2006/06/12 02:00

まず、


is_uploaded_file($_FILES["uploadfile"]["tmp_name"])でアップロードが成功しているかどうか確認しましょう。
    • good
    • 0

こんにちは。



確認画面を出している時点でアップロードされておりますので、
それでいいか聞くとしたら、「いいえ」でサーバ上からファイル削除するしかないと思います。
アップロードされたのをアップロードするのは無理なので、
「はい」を選んだらそのままか、または専用のディレクトリに
移動するとかのオペレーションになると思います。

それか、画像を選んだ時に、その画面にその選択した画像を表示して、
アップロード前に確認させるかでしょうか(JavaScript必須)

この回答への補足

さっそくのご回答ありがとうございます。

いろいろ試していたのですが、
どうも、PHPのセーフモードによって

move_uploaded_file

の部分が制限されているようで、内容が
「処理を行うファイル/ディレクトリが実行するスクリプトと同じUIDを有しているかどうかを確認します」
とあるのですが、UIDの意味がわかりません。
何なのでしょうか?

補足日時:2006/06/06 00:29
    • good
    • 0

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