save file to folder

i have multiple files upload using dynamic form .i m using yii2 static function getInstancesByName($name)

but it is returning me empty data.

in post its coming




array(

[0]

  [filelist]='file.jpg',

  [file_name]=name ,

[1]

  [filelist]='file.png',

  [file_name]=name ,

)



when i pass yii2 static function using this




 $files = UploadedFile::getInstanceByName($data[$i]['checklistFile']);



it should give me instance of file.but it is giving nothing.

Hi,

Do u have enctype in your form?




enctype="multipart/form-data"



yes i have,problem is i m using dynamic form https://github.com/wbraganca/yii2-dynamicform/

and it has single table dynamic form.

i am posting code below

it is view file code.




 <?php $form = ActiveForm::begin([

                  'id' => 'dynamic-form',

                  'options' =>['class' => 'form-horizontal bv-form', 

                  'enctype' => 'multipart/form-data']]); ?>

                  <div class="padding-v-md">

                    <div class="line line-dashed"></div>

                  </div>

                  <?php DynamicFormWidget::begin([

                     'widgetContainer' =>

                     'dynamicform_wrapper', // required: only alphanumeric characters plus "_" [A-Za-z0-9_]

                     'widgetBody' => '.container-items', // required: css class selector

                     'widgetItem' => '.item', // required: css class

                     'limit' => 1, // the maximum times, an element can be cloned (default 999)

                     'min' => 1, // 0 or 1 (default 1)

                     'insertButton' => '.add-item', // css class

                     'deleteButton' => '.remove-item', // css class

                     'model' => $models[0],

                     'formId' => 'dynamic-form',

                     'formFields' => [

                                     'file',

                                     'file_name'

                      ],

                      ]); ?>


        <div class="panel panel-default">


            <div class="panel-heading">


                <i class="fa fa-envelope"></i> File Upload Book


                <!-- <button type="button" class="pull-right add-item btn btn-success btn-xs"><i class="fa fa-plus"></i> Add File</button> -->


                <div class="clearfix"></div>


            </div>


            <div class="panel-body container-items"><!-- widgetContainer -->


                <?php foreach ($models as $index => $model): ?>


                    <div class="item panel panel-default"><!-- widgetBody -->


                        <div class="panel-heading">


                            <span class="panel-title-address">File: <?= ($index + 1) ?></span>


                            <button type="button" class="pull-right remove-item btn btn-danger btn-xs"><i class="fa fa-minus"></i></button>


                            <div class="clearfix"></div>


                        </div>


                        <div class="panel-body">

                          <fieldset>

                            <div class="row">

                              <section class="col-md-12">

                                <section class="col-md-5">

                                  <?php echo $form->field($model, "[{$index}]file")->widget(FileInput::classname(), [

                                   'name' => 'file',

                                   'pluginOptions' => [

                                   'browseClass' => 'btn btn-success',

                                   'uploadClass' => 'btn btn-info',

                                   'removeClass' => 'btn btn-danger',

                                   'showPreview' => false,

                                   'showCaption' => true,

                                   'showTextbox' => false,

                                   'removeIcon' =>'<i class="fa fa-trash"></i>',

                                  ]

                                ]);?>

                                </section>

                                 <section class="col-md-1">

                                 </section>

                                <section class="col-md-5">

                                  <?= $form->field($model, "[{$index}]file_name")->textInput(['maxlength' => true]) ?>

                                </section>

                              </section>

                            </div><!-- end:row -->

                           

                          </fieldset>


                            </div>


                        </div>


                    <?php endforeach; ?>


                </div>


            </div>


            <?php DynamicFormWidget::end(); ?>

           <div class="form-actions">

                          <div class="row">

                            <div class="col-md-12">

                               <?= Html::a('<i class="ace-icon fa fa-remove"> Cancel</i>', ['checklist/index'], ['class'=>'btn btn-danger']); ?>

                              <?= Html::submitButton(Yii::t('app', 'Create'), ['class' =>  'btn btn-success']) ?>

                            </div>

                          </div>

                        </div>

            <footer>

             


            </footer>




            <?php ActiveForm::end(); ?>




        </div>



controller code




 public function actionFilesUpload(){

      $models = [new UploadForm];

      if(DynamicModel::loadMultiple($models,Yii::$app->request->post())) {

          $model = DynamicModel::createMultiple(UploadForm::classname());

          $data=Yii::$app->request->post('UploadForm');

          foreach ($data as $index => $modelOptionValue) {

             // $files = UploadedFile::getInstanceByName($modelOptionValue, '[{$index}]checklistFile');

   // $files = UploadedFile::getInstanceByName($data[$index]['checklistFile']);

   // $filelist = \yii\web\UploadedFile::getInstancesByName($modelOptionValue['checklistFile']);

   // $filelist = UploadedFile::getInstancesByName($modelOptionValue, '[{$index}]checklistFile');

      

            }

         

       }

         

         return $this->render('_formUpload', [

                'models' => (empty($models)) ? [new UploadForm] : $models

                

               

        ]);


    }




i printed everything inside for-each but nothing is coming.only post is coming.