1

Zend_Form_Element_FileHTML 属性を使用して複数の画像をアップロードしたいmultiple。要素のセットアップは直感的に機能します。

$form->addElement(new Zend_Form_Element_File(
    'images',
    array('label' => 'Images:', 'multiple' => 'multiple')
));

アップロード ページで入力フィールドへの参照を取得して を実行する$input->receive()と、選択したファイルの 1 つだけが保存されます。

"Zend_Form_Element_File multiple files" などを検索すると、 の使用を示す結果しか得られZend_Form_Element_File::setMultiFile()ません。これは探しているものではありません。

助言がありますか?

4

1 に答える 1

9

私自身の質問に対する答えを見つけました:

入力要素の 'isArray' を true に設定する必要があります。これは、要素の構築時にオプション配列で ( new Zend_Form_Input_File('images', array('isArray' => true)))、または isArray() メソッドを介して ( $input->setIsArray(true)) 行われます。

いくつかの背景情報と、最終的にこの解決策を見つけた方法:

まず、複数のファイルをアップロードするには、要素の名前に角括弧を追加する必要があることに気付きましたimages[]。それが HTML の仕様なのか、それとも PHP が必要とするものなのかはわかりませんが、この場合はそのように動作するはずです。

私の次の問題は、プロパティZend_Form_Elementでブラケットを設定しようとするとブラケットが削除されることでした。name最後に、Matthew Weier O'Phinney自身による回答に出くわしましisArray[]

于 2012-04-06T12:37:32.277 に答える