Осветить \ Contracts \ Filesystem \ FileNotFoundException в Laravel 5.6 с помощью фасада хранилища - PullRequest
0 голосов
/ 05 ноября 2019

Этот код возвращает странную ошибку:

$file = Storage::get(Storage::disk('notas_xml')->path('') . 't.txt');

enter image description here

Как видите, файл существует.

Ответы [ 2 ]

1 голос
/ 05 ноября 2019

Вам необходимо получить файл, как показано ниже:

Storage::disk('notas_xml')->has('t.txt');

Над has можно использовать метод, чтобы определить, существует ли данный файл на диске:

Пожалуйста, прочитайте документациюhttps://laravel.com/docs/5.1/filesystem#retrieving-files

1 голос
/ 05 ноября 2019

Получить файл непосредственно с диска вместо вложенности

$exists = Storage::disk('notas_xml')->exists('t.txt');
if ($exists) {
  $file = Storage::disk('notas_xml')->get('t.txt');
}

А если вы не настроили notas_xml диск в filesystems.php

$file = Storage::get('public/arquivos/notas_xml/t.txt');

И использовать свойкод, вам нужно настроить диск примерно так в config/filesystems.php

'notas_xml' => [
    'driver' => 'local',
    'root' => storage_path('app/public/arquivos/notas_xml'),
    'url' => env('APP_URL') . '/storage',
    'visibility' => 'public',
],

и получить файл просто так

$file = Storage::disk('notas_xml')->get('t.txt');

Надеюсь, это поможет

...