请先在frontend下创建一个uploads文件夹,否则不能生效哦 、路由:
public $enableCsrfValidation = false; public function actionUpmore(){ $model=new Upmore(); if (Yii::$app->request->isPost) { $file = UploadedFile::getInstances($model, 'file'); if ($file && $model->validate()) { foreach ($file as $fl) { $fl->saveAs(Yii::$app->basePath."/uploads/".iconv("UTF-8", "GB2312//IGNORE", $fl->baseName). '.' . $fl->extension); Yii::$app->db->createCommand()->insert('upmore', [ 'path' =>Yii::$app->basePath."/uploads/".iconv("UTF-8", "GB2312//IGNORE", $fl->baseName). '.' . $fl->extension, 'file' =>iconv("UTF-8", "GB2312//IGNORE", $fl->baseName). '.' . $fl->extension, 'created_at'=>date('Y-m-d H:i:s') ])->execute(); } } } } }
模型:
public $file; /** * @inheritdoc */ public static function tableName() { return 'upmore'; } /** * @inheritdoc */ public function rules() { return [ [['file'], 'file', 'maxFiles' => 10,'extensions'=>'jpg,png,gif,txt,doc'], ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'id' => 'ID', 'path' => 'Path', 'file' => 'File', 'created_at' => 'Created At', ]; } }
**sql:注意注意,sqlid要自增
postman: