ThinkPHP6 上传文件使用date命名规则后报错

使用ThinkPHP 6内置文件上传方法时

总共封装三种方式 MD5 sha1 date,
其他俩种都是正常使用,唯独date使用时会报错

代码如下


$savename = \think\facade\Filesystem::disk('public')->putFile('topic', $file,'date');
print_r($savename);die;

报错如下

img

默认的就是date规则的:

img

img


如果你不想返回的文件名经过md5进行处理的话可以自己编写规则:

$file = request()->file('file);
$path = "path";
$saveName = Filesystem::disk('public')->putFile($path, $file, function () use ($file) {
            switch (true) {
                case "date":
                    $fileName = date('YmdHis') . '_' . rand(1000,9999);
                    break;
                default:
                    $fileName = "自定义名称";
                    break;
            }

            return $fileName;
        });

报错信息表示在使用date时,没有给date函数提供参数。 应该改为使用带有格式字符串的date函数,例如:

$savename = \think\facade\Filesystem::disk('public')->putFile('topic', $file, date('Y-m-d_His'));

该格式字符串('Y-m-d_His')表示年-月-日_时分秒。 可以根据需要修改格式字符串。