在Laravel 5文件夹结构中保存文件的位置?

koa*_*aok 10 php file laravel laravel-5

我有我的Laravel项目,它会在进行一些计算后保存文件(txt或csv).

我正在寻找保存这些文件的最佳实践.也许/ resources/csv/...?

第二个问题如何从类中引用此路径的最佳方法?在.env文件中设置abs路径?是否有laravel方法将返回资源的路径?

jed*_*ylo 26

/ resources不是最佳位置,因为此文件夹用于源文件,通常存储在源代码存储库(例如git)中.

应用程序生成的文件通常最终位于/ storage文件夹中 - 只需在那里创建/ storage/csv文件夹.

您永远不应该直接从您的类中引用这些文件.Laravel的文件系统是您所需要的 - 您可以在这里阅读更多相关信息:http://laravel.com/docs/master/filesystem.他们对文件进行操作(如读,写,前置,追加,删除,移动,获取所有文件以及更多......)要简单得多.

首先在config/filesystems.php中定义文件系统

'disks' => [
  'csv' => [
    'driver' => 'local',
    'root'   => storage_path().'/csv',
  ],
],
Run Code Online (Sandbox Code Playgroud)

现在,您可以从代码中的任何位置通过Storage facade 读取/写入csv文件,如下所示:

Storage::disk('csv')->put('file.csv', $content);
$content = Storage::disk('csv')->get('file.csv');
Run Code Online (Sandbox Code Playgroud)