当前位置:  开发笔记 > 编程语言 > 正文

Laravel:自动重命名上传的文件

如何解决《Laravel:自动重命名上传的文件》经验,为你挑选了2个好方法。

我允许用户在我的页面上传任何类型的文件,但文件名可能存在冲突.因此,我想自动重命名文件,以便任何时候上传任何文件,在数据库和上传后的文件夹中,当其他用户下载相同的文件时,文件名也会被更改,重命名的文件将被下载.我试过了:

if (Input::hasFile('file')){
        echo "Uploaded
"; $file = Input::file('file'); $file ->move('uploads'); $fileName = Input::get('rename_to'); }

但是,名称改为:

php5DEB.php

phpCFEC.php

我该怎么做才能以相同的类型和格式维护文件,只需更改其名称?

我也想知道如何在页面上显示最近上传的文件并让其他用户下载?



1> ATIKON..:

使用这个

$file->move($destinationPath, $fileName);



2> 小智..:

对于唯一文件名称保存

在5.3中(最适合我,因为在Illuminate\Http\UploadedFile中使用md5_file hashname):

public function saveFile(Request $request) {
    $file = $request->file('your_input_name')->store('your_path','your_disk');
}

在5.4中(在Illuminate\Http\UploadedFile中使用不唯一的Str :: random(40)hashname).我使用此代码来确保唯一的名称:

public function saveFile(Request $request) {
    $md5Name = md5_file($request->file('your_input_name')->getRealPath());
    $guessExtension = $request->file('your_input_name')->guessExtension();
    $file = $request->file('your_input_name')->storeAs('your_path', $md5Name.'.'.$guessExtension  ,'your_disk');
}

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有