Laravel 5.5 从本地磁盘读取一个文件

Laravel 5.5 read a file from the local disk

我正在尝试从本地文件位置导入带有 Laravel 5.5 的 csv 文件。由于某种原因,它无法在我的计算机上找到该文件,但路径是正确的。

$fileLocation = $request->file('file')->store('csv');
$importFile = File::file(storage_path('app/' . $fileLocation));

您可以为此使用 Storage 门面。这是一个例子:

if (Storage::disk($disk)->exists($filename)) {
    return Storage::disk($disk)->get($filename);
}

throw new FileNotFoundException(sprintf('File not found: %s', $filename), 404);

如果你不想使用Storage门面,你可以使用下面的代码来获取文件

$importFile = Illuminate\Support\Facades\File::get(storage_path('app/' . $fileLocation));

但是当你使用 csv 作为存储参数存储文件时,它会保存在 storage/csv 文件夹中,你只需要调用 storage_path($fileLocation).

确保您的存储路径正确,有关更多信息,请阅读 here