在Laravel中上传文件-错误的路径

时间:2019-07-06 11:53:27

标签: php laravel laravel-5

我是Laravel的初学者。 我有以下代码:

bool

此功能将文件上传到20。 我需要将其存储在if ($request->hasfile('profilePhoto')) { $this->validate($request, [ 'profilePhoto' => 'required', 'profilePhoto.*' => 'mimetypes:image/jpg' ]); $image = $request->file('profilePhoto'); $extension = strtolower($image->getClientOriginalExtension()); $path = 'upload/images/UserImage/'; $uniqueName = md5($image . time()); $image->move(public_path($path), $uniqueName . '.' . $extension); }

如何重写代码?

4 个答案:

答案 0 :(得分:0)

您必须使用storage_path功能(“ storage / app / upload”文件夹必须存在):

$image->move(storage_path("app/upload"), $uniqueName . '.' . $extension);

答案 1 :(得分:0)

Release

答案 2 :(得分:0)

Laravel中上传到storage/app的一种常见方法是通过本地磁盘驱动程序。

$file = $path . $uniqueName . '.' . $extension;
\Storage::disk('local')->put($file, $request->file('profilePhoto'));

Storage::disk('local')指向storage/app/

答案 3 :(得分:0)

由于您的$ path变量已经像这样$path = 'upload/images/UserImage/'声明了,因此可以将数据存储到public_path,而不是存储到storage_path()

$image->move(storage_path($path), $uniqueName . '.' . $extension);