0

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'ので、これが原因ではありません。

4

1 に答える 1