ThinkPHP 是一个流行的 PHP 开发框架,它提供了丰富的功能和组件,用于简化 Web 应用的开发和维护。上传文件是 Web 开发中常见的功能之一,ThinkPHP 提供了方便的方法来处理文件上传。
原因:当多个用户上传同名文件时,可能会导致文件覆盖或存储冲突。
解决方法:
use think\facade\Filesystem;
$file = request()->file('file');
$saveName = \think\facade\Str::random(10) . '.' . $file->getExtension();
$savePath = Filesystem::disk('public')->putFile('uploads', $file, 'cover');
$savePath = 'uploads/' . $file->getOriginalName();
if (Filesystem::disk('public')->exists($savePath)) {
// 文件已存在,处理重复文件名逻辑
$savePath = 'uploads/' . \think\facade\Str::random(10) . '.' . $file->getExtension();
}
Filesystem::disk('public')->putFile('uploads', $file, 'cover');
通过以上方法,可以有效解决 ThinkPHP 中上传文件名称重复的问题,并确保文件上传的安全性和可靠性。
领取专属 10元无门槛券
手把手带您无忧上云