0

ファイルアップロードの複数のフィールドがあります。ユーザーが追加ボタンをクリックすると、最初はフィールドがなく、ファイルアップロードフィールドが表示されます

ビューで

PHP    
<?php echo $i = 0;?>

Javascript
var i = '<?php echo $i?>';  

<input type="file" name="product_image_' + i +'"/>

フォームを送信すると、この出力が表示されます

Array
(
    [product_image_1_] => Array
        (
            [name] => 25412_D80_backsanspic.png
            [type] => image/png
            [tmp_name] => C:\xampp\tmp\php68.tmp
            [error] => 0
            [size] => 355623
        )

    [product_image_2_] => Array
        (
            [name] => 25420_D40_right.png
            [type] => image/png
            [tmp_name] => C:\xampp\tmp\php69.tmp
            [error] => 0
            [size] => 347694
        )

    [product_image_3_] => Array
        (
            [name] => 26135_P6000_34r.png
            [type] => image/png
            [tmp_name] => C:\xampp\tmp\php6A.tmp
            [error] => 0
            [size] => 420441
        )

    [product_image_4_] => Array
        (
            [name] => 
            [type] => 
            [tmp_name] => 
            [error] => 4
            [size] => 0
        )

)

各ファイル アップロード フィールドにアンダースコアがあることがわかります。これがどのように可能かわかりません。また、私がこれを行う場合

echo $_FILES['product_image_4_']['error'];

出力は表示されますが、これは表示されません

echo $_FILES['product_image_4']['error'];

代わりに、エラー undefined index product_image_4 が生成されます。codeigniter 上に構築された pyrocms を使用しています。

4

2 に答える 2

0

この問題の別の解決策を見つけました.phpで_を削除していますが、当面は完璧な解決策ではありませんが、仕事を続けることができます.

于 2012-10-18T06:11:07.977 に答える
0

あなたの Javascript コードは、チェックアウトする必要がある余分なアンダースコアを追加しています。さらにフィールドを追加し、ページのソースを表示します。名前に既に (_) が含まれている場合。Java スクリプト コードに余分なアンダースコアを追加している可能性があります。

于 2012-10-16T12:59:02.437 に答える