0

フォームを介して画像をアップロードするスクリプトがあります。私は行きたい:

<input type="file" name="img_1_upload" class="text">
<input type="file" name="img_2_upload" class="text">
<input type="file" name="img_3_upload" class="text">
<input type="file" name="img_4_upload" class="text">
<input type="file" name="img_5_upload" class="text">
<input type="file" name="img_6_upload" class="text">

複数のアップロード入力タイプを使用するには:

<input name="images[]" id="filesToUpload" type="file" multiple="" />

私のPHPスクリプトは、名前= img_1_upload、img_2_upload、img_3_upload ...からimg_6_upload ...で入力された画像を検出します

ただし、複数ファイルの入力タイプを使用すると、各ファイルの名前を img_1_upload などの形式に設定できません。

これを処理する最良の方法は何ですか?

4

2 に答える 2

1

move_uploaded_file()関数を試しましたか?アップロードされたファイルはとにかく一時ファイルです。おそらく、それらをより適切な場所に移動する必要があります。移動中に、ファイルの名前を任意の名前に変更することもできます。

$_FILES["images"]["name"][index]PS:ここで、indexは0からファイル数-1までの配列インデックスを使用してファイルの名前にアクセスできることを知っていると思います。

P.S2:フォームenctype="multipart/form-data"に複数のファイルの属性があることも確認してください。

于 2012-12-28T22:47:01.460 に答える
0

$ _FILES配列には、アップロードされたファイルの情報が含まれています。複数のファイルをアップロードする場合、$_FILESは次のように構成されます。配列

(
    [name] => Array
        (
            [0] => foo.txt
            [1] => bar.txt
        )

    [type] => Array
        (
            [0] => text/plain
            [1] => text/plain
        )

    [tmp_name] => Array
        (
            [0] => /tmp/phpYzdqkD
            [1] => /tmp/phpeEwEWG
        )

    [error] => Array
        (
            [0] => 0
            [1] => 0
        )

    [size] => Array
        (
            [0] => 123
            [1] => 456
        )
)

その後、簡単なforeach()ループでファイルの名前を好きなように変更できます。

于 2012-12-28T22:55:08.283 に答える