/** * 多文件上传 * @param $name 表单中file的名称 * @param $baseDir 文件的上传路径 */ public static function uploadFiles($name, $baseDir = '') { if ($baseDir == '') { $baseDir = Yii::$app->basePath . '/web/upload/attachment'; } $model = new UploadsForm(); $model->file = UploadedFile::getInstancesByName($name); if (empty($model->file)) { return true; } //没有上传文件 if ($model->validate()) { $resFileArr = []; foreach ($model->file as $f) { $ext = $f->getExtension(); $fileName = md5($f->tempName) . '.' . $ext; $dir = date('Ymd'); $fileDir = $baseDir . '/' . $dir; //var_dump($fileDir); //exit; if (!is_dir($fileDir)) { $res = mkdir($fileDir, 0777, true); if (!$res) { return ['errno' => 10, 'errmsg' => 'create dir failed']; } } $fileUrl = $fileDir . '/' . $fileName; $res = $f->saveAs($fileUrl); if (!$res) { return ['errno' => $model->file->error, 'errmsg' => 'save file failed']; } $resFileArr[] = ['fileUrl' => $dir . '/' . $fileName, 'name' => $f->name]; } } else { return ['errno' => 11, 'errmsg' => json_encode($model->getErrors())]; } //返回文件上传信息 return ['errno' => 0, 'errmsg' => 'success', 'fileInfo' => $resFileArr]; }