2017-02-23 18 views
1

我已經有一個文件上傳頁面,它工作正常,但我需要創建另一個字段上傳另一個圖像和它不工作..yii2上傳2幅圖像不同的數據庫字段

這是我_form和它的工作原理

<?= $form->field($model, 'file')->fileInput(['onchange'=>'readURL(this)'])->label(false) ?> 

我定義$文件2在模型文件,並將此行_form

<?= $form->field($model, 'file2')->fileInput(['onchange'=>'readURL(this)'])->label(false) ?> 

而這另一部分我在shopcontroller代碼文件

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


      $model->file = UploadedFile::getInstance($model, 'file'); 
      $model->file2 = UploadedFile::getInstance($model, 'file2'); 

        if($model->file!='') 
        { 

         $model->ShopLogo = time().'.'.$model->file->extension; 

        } 

        if($model->file2!='') 
        { 

         $model->pic= time().'.'.$model->file2->extension; 

        } 

代碼

   $dir = 'web/shop/'.$model->Id; 

       if($model->file!='') 
       { 
        if(!file_exists($dir)) 
        { 
         mkdir($dir); 

        } 

        $model->file->saveAs($dir."/". $model->ShopLogo); 
       } 

       if($model->file2!='') 
       { 
        if(!file_exists($dir)) 
        { 
         mkdir($dir); 

        } 

        $model->file2->saveAs($dir."/". $model->pic); 

       } 

我能做些什麼來解決這個問題的另一部分?

回答

0

time()函數返回從Unix Epoch(1970年1月1日00:00:00 GMT)以來秒數中測量的當前時間。

如果兩個文件具有相同的分機和

$model->ShopLogo = time().'.'.$model->file->extension; 

$model->pic= time().'.'.$model->file2->extension; 

之間的時間性差異小於秒,

$model->ShopLogo = $model->pic 

和你寫兩個文件到相同的文件名