fix: 后台图片上传路径bug

This commit is contained in:
2025-07-07 17:50:52 +08:00
parent 16e60c6311
commit 60e3a81a78

View File

@@ -72,7 +72,7 @@ class Upload
$webp = $image->toWebp(75);
$root = config('filesystem.disks.image.root');
$filename = $param['module'] . '/' . ($name_rule() ?? date('Ymd') . '/' . md5((string)time()) . '.webp');
$webp->save($root . '/' . $filename);
$webp->save($this->checkPath($root . '/' . $filename));
// 获取webp文件大小
$file_size = $webp->size();
// 获取webp文件mime类型
@@ -176,6 +176,32 @@ class Upload
return error('上传失败');
}
/**
* 检查路径
*
* @param string $path
* @return string
*/
private function checkPath($path): string
{
$filename = basename($path);
$dirname = dirname($path);
if (is_dir($dirname)) {
$ok = false;
if (!file_exists($dirname)) {
$ok = @mkdir($dirname, 0755, true);
} else if (!is_writable($dirname)) {
$ok = @chmod($dirname,0755);
}
if ($ok) {
return $dirname . '/' . $filename;
}
throw new \Exception('要上传目录不可用');
}
return "";
}
/**
* 文件名生成回调
*