$value) { if (strpos($filetypeuse, $value)) { $iscanupload = true; } } if (!$iscanupload) { log::info($_FILES); $msg = "file type error: " . $filetype; log::info($msg); $this->error($msg); } } /** * 指定文件位置上传 * * @return void */ public function uploadfilebydir() { //log::info($_FILES); $this->filterfiletype(); // 获取表单上传文件 $file = request()->file('file'); if (empty($file)) { $this->error('请选择上传文件'); } $defaultdir = 'Uploads' . '/'; $dir = request()->param('dir') ? request()->param('dir') : request()->post('dir'); $filename = request()->param('filename') ? request()->param('filename') : request()->post('filename'); if ($dir) { if (!preg_match("/^[a-z0-9]{1,20}$/", $dir)) { $this->error('请求错误'); } $dir = $defaultdir . $dir; } else { $dir = $defaultdir; } //$domainpath = 'http://' . $_SERVER['HTTP_HOST'] . '/' . $dir . '/'; $domainpath = 'https://' . $_SERVER['HTTP_HOST'] . '/' . $dir . '/'; // 移动到框架应用根目录/public/uploads/ 目录下 if (!empty($filename)) { $file = $file->move(ROOT_PATH . 'public' . '/' . $dir, $filename); } else { $file = $file->move(ROOT_PATH . 'public' . '/' . $dir); } //如果不清楚文件上传的具体键名,可以直接打印$info来查看 //获取文件(文件名),$info->getFilename() ***********不同之处,笔记笔记哦 //获取文件(日期/文件名),$info->getSaveName() **********不同之处,笔记笔记哦 $filename = $file->getSaveName(); $filename = str_replace(DS, "/", $filename); if ($filename) { //$this->success('文件上传成功!'); $imageUrl = $domainpath . $filename; $r_upload['code'] = '200'; $r_upload['resultData'] = $imageUrl; //不转义反斜杠 return json_encode($r_upload, 320); } else { // 上传失败获取错误信息 $this->error($file->getError()); } } }