0
我在YII中構建了一個表單,我需要處理上傳的文件。我跟着this guide,但我偶然發現了一個問題。 CUploadedFile::getInstance
總是返回null。CUploadedFile :: getInstance在上傳的文件上總是返回空
這是我使用的。我的模型:
class AdditionalFieldFile extends CFormModel {
public $uploadedFile;
/**
* @return array validation rules for model attributes.
*/
public function rules() {
return array(
//note you wont need a safe rule here
array('uploadedFile', 'file', 'allowEmpty' => true, 'types' => 'zip,doc,xls,ppt,jpg,gif,png,txt,docx,pptx,xlsx,pdf,csv,bmp'),
);
}
}
和處理的形式,在控制上傳的文件提交:
$model = new AdditionalFieldFile();
$model->uploadedFile = CUploadedFile::getInstance($model, 'field_'.$type_field.'['.$id_common.']');
這$model->uploadedFile
後是空的某些原因。
請注意,$type_field
和$id_common
是動態生成的。
另外,表格有'enctype'=>'multipart/form-data'
,所以這不是原因。
你能顯示您的控制器和視圖更多的代碼? – darkheir
你確定''field_'。$ type_field。'['。$ id_common。']''生成正確的名字嗎? –
我認爲你應該把'CUploadedFile :: getInstance($ model,'uploadedFile');'但這取決於你的觀點 – darkheir