1

私はphp/HTML Webプロジェクトに取り組んでおり、画像をサーバーにアップロードするためにPHPスクリプトに投稿する必要がある入力タイプファイルを含むフォームがあります。form タグでは、AJAX スタイルの投稿をシミュレートできるように iframe をターゲットにするために target 属性を使用しています。つまり、iframe に投稿するので、メイン ページを更新する必要なく iframe が作業を行います。

以下は私が使用しているフォームです。

    <form method="post" action="phpHandler/image-uploader.php" target="image_upload_frame">
<table>
    <tr>
       <td>
          Image Title:
       </td>
       <td>
         <input type="text" id="txtImageTitle" name="txtImageTitle" />
      </td>
   </tr>
   <tr>
     <td>
         Image File:
     </td>
     <td>
         <input type="file" id="txtImageFile" name="txtImageFile" />
     </td>
   </tr>
</table>

以下はiframeです

<iframe id="image_upload_frame" name="image_upload_frame"></iframe>

以下は、フォームの投稿先となる PHP スクリプトです。

echo "posting";
    $title = $_POST['txtImageTitle'];
    $tempName = $_FILES['txtImageFile']['name'];

    writeToLog("Image Title:" . $title);
    writeToLog("Temp Name: $tempName\n");

    $data = var_export($_POST, true);
    $fileData = var_export($_FILES, true);

    writeToLog($data);
    writeToLog($fileData);

    function writeToLog($message)
    {
        $fh = fopen('log.txt', 'a');
        fwrite($fh, $message);
        fclose($fh);
    }

PHP スクリプトは実行されていますが、$_FILES および $_POST 配列は空です。

PHPスクリプトを指すsrc属性を含むようにiframeを変更して、フォームからアクションを削除しようとしましたが、これはPHPスクリプトを実行することさえないようです。

ご協力いただきありがとうございます。

4

1 に答える 1

4

追加

enctype="multipart/form-data"

 <form method="post" action="phpHandler/image-uploader.php" target="image_upload_frame">
于 2012-10-23T20:37:54.387 に答える