fix: 后台图片上传路径bug
This commit is contained in:
@@ -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 "";
|
||||
}
|
||||
/**
|
||||
* 文件名生成回调
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user