在Laravel 5文件夹结构中保存文件的位置?
我有我的Laravel项目,它将在进行一些计算后保存文件(txt或csv)。
我正在研究保存这些文件的最佳实践。也许是/resources/csv/...?
第二个问题 如何从类中引用此路径?在 .env 文件中设置 abs 路径?是否有将路径返回到资源的 laravel 方法?
我有我的Laravel项目,它将在进行一些计算后保存文件(txt或csv)。
我正在研究保存这些文件的最佳实践。也许是/resources/csv/...?
第二个问题 如何从类中引用此路径?在 .env 文件中设置 abs 路径?是否有将路径返回到资源的 laravel 方法?
/resources不是最好的地方,因为这个文件夹用于源文件,通常存储在源代码存储库(例如git)中。
应用程序生成的文件通常最终位于 /storage 文件夹中的某个位置 - 只需在那里创建一个 /storage/csv 文件夹即可。
切勿直接从类中引用这些文件。Laravel的文件系统是你需要的 - 你可以在这里阅读更多关于它们的信息:http://laravel.com/docs/master/filesystem。它们使对文件的操作(如读取,写入,预置,追加,删除,移动,获取所有文件等等)变得更加简单。
从在配置/文件系统中定义文件系统开始.php
'disks' => [
'csv' => [
'driver' => 'local',
'root' => storage_path().'/csv',
],
],
现在,您可以通过存储外观从代码中的任何位置读取/写入csv文件,如下所示:
Storage::disk('csv')->put('file.csv', $content);
$content = Storage::disk('csv')->get('file.csv');
您可以将文件保存在存储文件夹中。
例如:
您可以在存储文件夹中创建一个名为 csv 的文件夹,并按如下方式获取路径:
storage_path().'/csv';
您可以在
Laravel 4.2 : app>storage
Laravel 5+ : 在根目录中