如何在自定义位置存储文件

时间:2018-02-11 12:32:17

标签: php laravel storage

我需要在Laravel电子商务应用中上传文件并将其存储在相应用户的文件夹中。我的代码如下所示:

if ($request->hasFile('attach')) {
            try {
                $file = $request->file('attach');
                $filename = $file->getClientOriginalName();

                Storage::disk('local')->put($filename,  File::get($file));
                Storage::move('app/'.$filename, 'app/public/uploads/'.$user_id.'/attach/'.$filename);

我在config/filesystems.php

中有这个
'local' => [
        'driver' => 'local',
        'root' => storage_path('app'),
    ],

但是我在上传文件时遇到错误:

  

(1/1)FileNotFoundException:在路径找不到文件:app / Test1.docx

如何在自定义位置存储/保存文件,例如用户的文件夹?存储上载文件的自定义位置如下所示: 'app/public/uploads/'.$user_id.'/attach/'

1 个答案:

答案 0 :(得分:0)

根据@ sohel0415的建议,这里有适合我的更新代码:

if ($request->hasFile('attach')) {
                    try {
                        $file = $request->file('attach');
                        $filename = $file->getClientOriginalName();
                        Storage::disk('local')->put('public/uploads/'.$user_id.'/attach/'.$filename, File::get($file));