public function actionUploadfile() { $request = \Yii::$app->request; if (!$request->isAjax) { Json::ajaxreturn(['state' => 'error', 'msg' => '非法请求']); } if (\Yii::$app->user->isGuest) { Json::ajaxreturn(['state' => 'error', 'msg' => '请先登录']); } $file = UploadedFile::getInstanceByName('jquploadfile'); if ($file->size > 1024 * 1024 * 60) { Json::ajaxreturn(['state' => 'error', 'msg' => '上传文件不得大于60M']); } $allow_ext = array("png", "jpg", "jpeg", "gif", "bmp", "flv", "swf", "mkv", "avi", "rm", "rmvb", "mpeg", "mpg", "ogg", "ogv", "mov", "wmv", "mp4", "webm", "mp3", "wav", "mid", "rar", "zip", "tar", "gz", "7z", "bz2", "cab", "iso", "doc", "docx", "xls", "xlsx", "ppt", "pptx", "pdf", "txt", "md", "xml"); if (!in_array($file->getExtension(), $allow_ext)) { Json::ajaxreturn(['state' => 'error', 'msg' => '只能上传' . implode(",", $allow_ext) . '格式的文件']); } else { $user_id = \Yii::$app->user->getId(); $user_id = sprintf("%05d", $user_id); if (!$user_id) { $dirNo = "common/"; } else { $dirNo = 'u' . $user_id . '/'; } $date = date("Ymd", time()) . '/'; $saveDir = UPLOADROOT . $dirNo . 'Files/' . $date; FileHelper::createDirectory($saveDir); $url = $saveDir . md5($file->getBaseName() . $file->getExtension()) . '_' . date('His', time()) . '.' . $file->getExtension(); $file->saveAs($url); $size = ceil($file->size / 1024); if ($size > 1024) { $size = sprintf("%.2f", $size / 1024) . "M"; } else { $size = $size . "K"; } Json::ajaxreturn(['state' => 'success', 'msg' => '上传成功', 'filename' => $file->name, 'url' => $url, 'size' => $size]); } }