Laravel 5.2 正在使用文件系统上传文件

Laravel 5.2 uploading file using filesystem

我在使用 Laravels 文件系统上传时遇到了一些问题。

当我尝试执行这段代码时

Storage::disk('public')->put(
            $img->getClientOriginalName(),
            file_get_contents($img->getRealPath())
        );

本地 public 文件夹中没有发生任何事情,我什至检查了该文件是否存在并且 returns 正确

dd(Storage::disk('public')->exists($img->getClientOriginalName()));

目前我正在使用 $img->move 方法,它可以正常工作。

磁盘也在filesystems.php

中配置
 'public' => [
            'driver' => 'local',
            'root' => storage_path('app/public'),
            'visibility' => 'public',
        ],

我对此感到困惑,因为几周前它在另一个项目上运行正常。

这应该有效:

if ($request->hasFile('myFile'))
{
    $fileExtension = strtolower($request->file('myFile')->getClientOriginalExtension());
    $newFilename = str_random(20) . '.' . $fileExtension;
    $storagePath = storage_path() . '/app/uploads/';
    $request->file('myFile')->move($storagePath, $newFilename);
}

我现在已经在 Claudio 的帮助下使用 'root' => public_path('') 解决了这个问题。