2017-05-31 74 views
0

所以我正在與Yii2合作,並且對它來說是相當新的。我正在使用Kartik文件上傳並試圖轉換多個文件的代碼。但它只保存第一個文件。Yii2 kartik文件FileInput多

我已經刪除了驗證,因爲這也是失敗,但一旦我知道所有其他工作都會加回來。

型號:

/** 
    * Process upload of image 
    * 
    * @return mixed the uploaded image instance 
    */ 
    public function uploadImage() { 

     // get the uploaded file instance. for multiple file uploads 
     // the following data will return an array (you may need to use 
     // getInstances method) 
     $image = UploadedFile::getInstances($this, 'image'); 

     foreach ($image as $images) { 

     // if no image was uploaded abort the upload 
     if (empty($images)) { 

      return false; 
     } 
     // store the source file name 
     $this->image_src_filename = $images->name; 
     $extvar = (explode(".", $images->name)); 
     $ext = end($extvar); 


     // generate a unique file name 
     $this->image_web_filename = Yii::$app->security->generateRandomString().".{$ext}"; 

     // the uploaded image instance 

     return $images; 


} } 

控制器:

/** 
    * Creates a new PhotoPhotos model. 
    * If creation is successful, the browser will be redirected to the 'view' page. 
    * @return mixed 
    */ 
    public function actionCreate() 
    { 
     $model = new PhotoPhotos(); 

     if ($model->load(Yii::$app->request->post())) { 

      // process uploaded image file instance 
      $images = $model->uploadImage(); 



     if ($model->save(false)) { 

      // upload only if valid uploaded file instance found 
       if ($images !== false) { 

        $path = $model->getImageFile(); 
        $images->saveAs($path); 

       } 

      return $this->redirect(['view', 'id' => $model->ID]); 
     } else { 
      //error in saving 

     } 

    } 
      return $this->render('create', [ 
       'model' => $model, 
      ]); 
    } 

查看:

//uncomment for multiple file upload 
echo $form->field($model, 'image[]')->widget(FileInput::classname(), [ 
    'options'=>['accept'=>'image/*', 'multiple'=>true], 
]); 
+0

任何人能幫助我們嗎?謝謝 – abilham

回答

0

我看到一個問題,就是你在

foreach ($image as $images) 
逆轉$圖像和$圖像

這應該是

foreach ($images as $image) 

乾杯

相關問題