避免文件冲突laravel

时间:2018-03-11 19:01:28

标签: laravel-5 laravel-filesystem

我想知道如何在Laravel中避免文件冲突。假设我有两个具有相同文件名的用户,并且两者都受到影响,因为其中一个用户更改了文件,我该如何避免这种情况。这是我的代码

 $file = $request->file('file');
      $myfilename = $vid->getClientOriginalName().uniqid();
      $mypath = $file->storeAs(
'video',
$myfilename);
      $location = public_path('/allvids',$myfilename);
      $file->move($location);
      $file->profile = $myfilename;

1 个答案:

答案 0 :(得分:0)

作为一般规则,您应该使用生成的文件名保存文件。将实际文件名存储在数据库中,然后按原样提供,没有什么不对,但一般来说,你应该生成一个。有几种方法可以做到。

time()使用unix时间戳

uniqid()生成唯一ID

就个人而言,我建议第二个。

另外,你正在做;

$file->store('video', $myFilename)

你想要的是什么;

$file->storeAs('video', $myFilename)

store()方法将使用文件的原始文件名。