diff --git a/src/app/model/upload/Upload.php b/src/app/model/upload/Upload.php index 7ce365a18..c163ad5f3 100644 --- a/src/app/model/upload/Upload.php +++ b/src/app/model/upload/Upload.php @@ -890,17 +890,22 @@ class Upload extends BaseModel */ public function checkPath($path) { - $absolute_path = realpath($path); + $current_user = get_current_user(); + $current_user = $current_user ? $current_user : 'unknown'; + $current_work_dir = getcwd(); + $current_work_dir = $current_work_dir ? $current_work_dir : 'unknown'; + // 如果$path包含工作目录,需要转换为绝对路径 + $absolute_path = $path; + if (strpos($path, $current_work_dir) !== false) { + $absolute_path = $current_work_dir . "/" . $path; + } try { if (file_exists($absolute_path) || mkdir($absolute_path, 0755, true)) { return $this->success(); } } catch (\Exception $e) { - $current_user = get_current_user(); - $current_user = $current_user ? $current_user : 'unknown'; - $current_work_dir = getcwd(); - $current_work_dir = $current_work_dir ? $current_work_dir : 'unknown'; + return $this->error('', "上传目录 {$absolute_path} 创建失败,请检测权限:用户{$current_user},当前工作目录{$current_work_dir}," . $e->getMessage()); } }