2017-08-27 38 views
1

調用一個成員函數的saveAs()我是新程序員的世界,找你幫忙的傢伙, 我有錯誤「在空調用一個成員函數的saveAs()」錯誤yii2上載空

此代碼在模型

[['file'],'file'], 
  • 這個代碼在控制器

      $docfileload = $model->docname; 
         $model->file = UploadedFile::getinstance($model,'file'); 
         $model->file->saveAs('uploads/'.$docfileload.'.'.$model->file->extension); 
         $model->save(); 
    
         //save path in db 
         $model->docfile = 'uploads/'.$docfileload.'.'.$model->file->extension; 
    

這段代碼_form

<?= $form->field($model,'file')->fileinput(); ?> 

我用getInstanceByName後像@bluehipy告訴我,我有一個新的問題,着眼於PIC

enter image description here

回答

0

試試這個:

$model->file=UploadedFile::getInstance($model,'file'); 
    $model->pic=$model->file->extension; // pic is a field in database varchar(20) 
    $model->save(false) ; 

    $ImageName=$model->id; 
    if (!file_exists('uploads/'.$ImageName)) { 
    mkdir('uploads/'.$ImageName, 0777, true); 
     } 
    $model->file->saveAs('uploads/'.$ImageName.'/'.$ImageName.'.'.$model- 
    >file->extension); 

`

0

UploadedFile::getinstance返回文件的array。使用getInstanceByNameUploadedFile::getinstance($model, 'file')[0]

+0

我嘗試getInstanceByName但我有新的消息錯誤 '在非法偏移類型isset或空' –

+0

@阿卜杜勒 - FattahEl-Hamali在哪裏呢?什麼線? – bluehipy

+0

public static function getInstanceByName($ name) { $ files = self :: loadFiles(); return isset($ files [$ name])?新的靜態($ files [$ name]):null; //停在這一行 } –