YII でフォームを作成しましたが、アップロードされたファイルを処理する必要があります。このガイドに従いましたが、問題に遭遇しました。CUploadedFile::getInstance
常に null を返します。
これが私が使用するものです。私のモデル:
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'
ので、これが原因ではありません。