2012-04-06 1 views
1

というHTML属性のZend_Form_Element_Fileを使用して複数の画像をアップロードしたいとします。要素を設定すると、直感的に動作します:Zend_Form_Element_FileとHTML5の複数の属性を使用して複数のファイルをアップロードする

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

私は$input->receive()を行う私のアップロードページウントに入力フィールドへの参照を取得すると、それだけで、選択したファイルのいずれかを保存します。

"Zend_Form_Element_File multiple files"のようなものを検索すると、私が探しているものではないZend_Form_Element_File::setMultiFile()の使用結果しか表示されません。

提案がありますか?

答えて

7

ちょうど自分の質問への答えが見つかりました:いずれかの要素(new Zend_Form_Input_File('images', array('isArray' => true)))を構成オプションの配列でまたはでIsArrayを経由して、あなたは真の入力要素の「でIsArray」を設定する必要が

を()方法($input->setIsArray(true))。

いくつかの背景情報とどのように私は最終的に、このソリューションが見つかりました:

まず、私は例えば、私が動作するように、複数のファイルのアップロードのための要素の名前に角括弧をapendしなければならないことに気づきましたimages[]。私はそれがHTML仕様かどうか、それがPHPが必要とするものなのかどうかはわかりませんが、この場合にはうまくいくはずです。

私の次の問題は、nameプロパティでそれらを設定しようとすると、括弧が削除されるということでした。最後に、私はanswer by Matthew Weier O'Phinney自身を見つけました:isArray[]を追加します。

+0

ありがとうございます!少なくとも1時間これを行う方法を探していた! :) – jjmu15