0

フォーム入力ファイル ID に基づいて画像の名前を変更できるかどうか疑問に思っていました。

<form action="upload_file.php" enctype="multipart/form-data" method="post">
    <input id="picture_01"  type="file">
    <input id="picture_02"  type="file">
    <input id="picture_03"  type="file">
    <input id="picture_04"  type="file">
<input name="submit" type="submit" value="Submit">
</form>

画像が入力 4 からアップロードされた場合は「picture_04」に名前が変更され、入力フォーム 2 から画像がアップロードされた場合は「picture_02」に名前が変更されます。順番ではなく、入力フォームのボックスに従います。

色々と試行錯誤を繰り返したにも関わらず、私はこれを行うことができませんでした。

4

2 に答える 2

0

入力に名前を付ける必要があります。

<input id="picture_01" name="picture_01" type="file">

次に、PHP で、$_FILES配列を使用して画像を取得する$_FILES['picture_01']か、単純に をループし$_FILESます。

foreach( $_FILES as $input_name=>$file)
{
  // $input_name is the name used as the form input name
  // $file is an array with the following keys: name, type, tmp_name, error, size.
}

もちろん、マニュアルは常によく読んでください http://www.php.net/manual/en/features.file-upload.post-method.php

于 2013-10-04T23:33:16.447 に答える
0

入力ごとに別々のフォームを使用します。このようにして、次のような非表示の入力を使用できます。

<form action="upload_file.php" enctype="multipart/form-data" method="post">
   <input type='hidden' name='picture_03_file' value="picture_03" />
   <input type='file'   name='picture_03_name' />
</form>
<form action="upload_file.php" enctype="multipart/form-data" method="post">
   <input type='hidden' name='picture_04_file' />
   <input type='file'   name='picture_04_name' value="picture_04" />
</form>

このようにすると、PHP コードは次のようになります。

$imgName = $_POST['picture_04_name'];
// Do file upload here
于 2013-10-04T23:39:05.377 に答える