/resources sind nicht der beste Ort, da dieser Ordner für Quelldateien verwendet wird und normalerweise im Quellcode-Repository gespeichert wird (z. Git).
Dateien, die Anwendung generiert in der Regel irgendwo im/Storage-Ordner landen - erstellen Sie einfach einen Ordner /storage/csv dort.
Sie sollten diese Dateien nie direkt aus Ihren Klassen verweisen. Laravels Dateisysteme sind das, was Sie brauchen - Sie können hier mehr darüber lesen: http://laravel.com/docs/master/filesystem. Sie machen Operationen auf den Dateien (wie lesen, schreiben, vorhängen, anhängen, löschen, verschieben, erhalten alle Dateien und viele mehr ...) viel einfacher.
beginnt mit einem Dateisystem in Ihrem Config definieren/filesystems.php
'disks' => [
'csv' => [
'driver' => 'local',
'root' => storage_path().'/csv',
],
],
Jetzt können Sie/Schreiben von Dateien Ihrer csv über Lagerung Fassade von überall in Ihrem Code wie das lesen:
Storage::disk('csv')->put('file.csv', $content);
$content = Storage::disk('csv')->get('file.csv');
Mein aktueller Bedarf besteht darin, die Datei zu erstellen und sie dann in derselben Ausführung zu verwenden. Keine "permanente" Dateireferenz zu haben. Wie auch immer, die Lösung, die Sie zur Verfügung stellen, ist großartig. Danke – koalaok
Wenn ich mehrere Unterordner im csv-Ordner habe. Was schlagen Sie vor, um direkt auf sie zuzugreifen? Bessere spezifische Einträge in config/filesystems.php definieren? oder verkettet wie Storage :: disk ('csv'). "/ mysubdir /../" (weiß noch nicht, wie man das richtig schreibt ..) – koalaok
Fügen Sie den Ordner in den Dateinamen ein, den Sie an put/get übergeben, z. -> put ('Ordner/Datei.csv', $ Inhalt). –